update workspace view data hook.
This commit is contained in:
@@ -18,22 +18,9 @@ const useWorkspaceViewData = ({
|
||||
searchResultIds,
|
||||
showingSearchResults,
|
||||
currentSubfolders,
|
||||
selectedFolder,
|
||||
}: UseWorkspaceViewDataArgs) => {
|
||||
const [visibleDocumentIds, setVisibleDocumentIds] = useState<DocumentId[]>([]);
|
||||
|
||||
const filteredDocuments = useMemo(() => {
|
||||
if (showingSearchResults) {
|
||||
return documents;
|
||||
}
|
||||
const targetFolder = selectedFolder || 'root';
|
||||
return documents.filter((doc) => {
|
||||
if (!doc) return false;
|
||||
const docFolder = doc.folder_id || 'root';
|
||||
return docFolder === targetFolder;
|
||||
});
|
||||
}, [documents, showingSearchResults, selectedFolder]);
|
||||
|
||||
useEffect(() => {
|
||||
const arraysEqual = (a: DocumentId[], b: DocumentId[]) =>
|
||||
a.length === b.length && a.every((value, index) => value === b[index]);
|
||||
@@ -44,11 +31,11 @@ const useWorkspaceViewData = ({
|
||||
return;
|
||||
}
|
||||
|
||||
const folderIds = filteredDocuments
|
||||
const folderIds = documents
|
||||
.map((doc) => (doc?.id ?? null) as DocumentId | null)
|
||||
.filter((id): id is DocumentId => id != null);
|
||||
setVisibleDocumentIds((prev) => (arraysEqual(prev, folderIds) ? prev : folderIds));
|
||||
}, [showingSearchResults, searchResultIds, filteredDocuments]);
|
||||
}, [showingSearchResults, searchResultIds, documents]);
|
||||
|
||||
const viewDocuments = useMemo(
|
||||
() =>
|
||||
|
||||
Reference in New Issue
Block a user