simplify shit

This commit is contained in:
2025-12-07 01:31:34 +01:00
parent 47599aba4a
commit 632665b0ed
5 changed files with 147 additions and 466 deletions
@@ -37,8 +37,6 @@ type EnsureFolderData = (
options?: { includeDocuments?: boolean },
) => Promise<FolderContents>;
type ApplySelectedFolder = (folderId: FolderId, contents?: FolderContents | null) => void;
type RemoveDocumentsFromCaches = (documentIds: DocumentId[]) => void;
type CloseDocumentPreview = () => void;
@@ -86,7 +84,6 @@ interface UseDocumentMutationsArgs {
selectedFolder: FolderId;
setSelectedFolder: Dispatch<SetStateAction<FolderId>>;
setDocuments: Dispatch<SetStateAction<Document[]>>;
setFolderContents: Dispatch<SetStateAction<Map<FolderId, FolderContents>>>;
setSearchResultIds: Dispatch<SetStateAction<DocumentId[] | null>>;
setSelectedEntries: Dispatch<SetStateAction<string[]>>;
setSelectionOrder: Dispatch<SetStateAction<string[]>>;
@@ -99,7 +96,6 @@ interface UseDocumentMutationsArgs {
notifyApiError: NotifyApiError;
setStatusMessage: SetStatusMessage;
mapDocumentCaches: MapDocumentCaches;
applySelectedFolder: ApplySelectedFolder;
folderNodes: Map<FolderId, FolderNode>;
setFolderNodes: Dispatch<SetStateAction<Map<FolderId, FolderNode>>>;
removeDocumentsFromCaches: RemoveDocumentsFromCaches;
@@ -159,7 +155,6 @@ const useDocumentMutations = ({
selectedFolder,
setSelectedFolder,
setDocuments,
setFolderContents,
setSearchResultIds,
setSelectedEntries,
setSelectionOrder,
@@ -172,7 +167,6 @@ const useDocumentMutations = ({
notifyApiError,
setStatusMessage,
mapDocumentCaches,
applySelectedFolder,
folderNodes,
setFolderNodes,
removeDocumentsFromCaches,
@@ -291,26 +285,8 @@ const useDocumentMutations = ({
return filtered.length === prev.length ? prev : filtered;
});
setDocuments((prev) => prev.filter((doc) => !uniqueIdSet.has(doc.id as DocumentId)));
setFolderContents((prev: Map<FolderId, FolderContents>) => {
if (!prev.size) {
return prev;
}
let changed = false;
const next = new Map<FolderId, FolderContents>(prev);
movedDocs.forEach(({ id, sourceFolderId }) => {
const sourceKey = (sourceFolderId || 'root') as FolderId;
const entry = next.get(sourceKey);
if (!entry?.documents?.length) {
return;
}
const filteredDocs = entry.documents.filter((doc) => doc.id !== id);
if (filteredDocs.length !== entry.documents.length) {
changed = true;
next.set(sourceKey, { ...entry, documents: filteredDocs });
}
});
return changed ? next : prev;
});
setDocuments((prev) => prev.filter((doc) => !uniqueIdSet.has(doc.id as DocumentId)));
// setFolderContents removed as we don't hold full cache anymore
setSelectedEntries((prev) => pruneRow(prev));
setSelectionOrder((prev) => pruneRow(prev));
@@ -350,7 +326,6 @@ const useDocumentMutations = ({
selectedFolder,
setSearchResultIds,
setDocuments,
setFolderContents,
setSelectedEntries,
setSelectionOrder,
selectionOrderRef,
@@ -696,22 +671,17 @@ const useDocumentMutations = ({
});
}
}
return next;
});
setFolderContents((prev: Map<FolderId, FolderContents>) => {
const next = new Map<FolderId, FolderContents>(prev);
next.delete(folderId);
return next;
});
// setFolderContents removed
if (selectedFolder === folderId) {
const node = folderNodes.get(folderId);
const parentId = node?.parentId || 'root';
setSelectedFolder(parentId);
const parentContents = await ensureFolderData(parentId);
applySelectedFolder(parentId, parentContents);
// ensureFolderData(parentId) will be called by useDocumentsWorkspace effect when selectedFolder changes
} else if (selectedFolder !== 'root') {
// If deleted folder was not selected, just check if we need to refresh (maybe redundant)
await ensureFolderData(selectedFolder);
}
@@ -734,9 +704,7 @@ const useDocumentMutations = ({
selectedFolder,
folderNodes,
setSelectedFolder,
applySelectedFolder,
setFolderNodes,
setFolderContents,
notifyApiError,
setStatusMessage,
],