feat: Introduce FoldersManager and useFolderData to manage and display folder contents, including documents and subfolders.
This commit is contained in:
@@ -40,6 +40,7 @@ import { useStatusToast, type ToastVariant } from '../../lib/context/StatusToast
|
||||
import useAuthManager from './useAuthManager';
|
||||
import useTenantManager from './useTenantManager';
|
||||
import useDocuments from './useDocuments';
|
||||
import FoldersManager from '../FoldersManager';
|
||||
import { fetchDocument } from '../../lib/api/apiClient';
|
||||
import useFolderTree from '../features/folders/useFolderTree';
|
||||
import useFolderTreeActions from '../features/folders/useFolderTreeActions';
|
||||
@@ -315,6 +316,12 @@ const useDocumentsWorkspace = ({
|
||||
fetchDocumentById,
|
||||
});
|
||||
|
||||
const foldersManagerRef = useRef<FoldersManager | null>(null);
|
||||
if (!foldersManagerRef.current) {
|
||||
foldersManagerRef.current = new FoldersManager();
|
||||
}
|
||||
const foldersManager = foldersManagerRef.current;
|
||||
|
||||
const documentLookup = useSyncExternalStore(
|
||||
(onStoreChange) => documentsManager.subscribe(onStoreChange),
|
||||
() => documentsManager.getSnapshot(),
|
||||
@@ -1301,6 +1308,8 @@ const useDocumentsWorkspace = ({
|
||||
uploadQueue,
|
||||
clearUploadQueue,
|
||||
documentsFilter,
|
||||
documentsManager,
|
||||
foldersManager,
|
||||
};
|
||||
|
||||
// hook callers handle rendering / routing
|
||||
|
||||
Reference in New Issue
Block a user