feat: Rework sidebar with dedicated components for menu, folders, tags, correspondents, and search, including tenant switching and theme controls.

This commit is contained in:
2025-11-25 15:09:20 +01:00
parent 2c42e63bab
commit d6206786f7
14 changed files with 1192 additions and 896 deletions
@@ -26,8 +26,10 @@ export interface UseDocumentsPanelPropsArgs {
refreshCurrentFolder?: () => void | Promise<void>;
currentSubfolders?: unknown[];
documents?: unknown[];
searchQuery?: string;
searchResultIds?: Identifier[] | null;
folderClickHandlers: FolderClickHandlers;
selectedFolder?: Identifier | 'root' | null;
selectFolder?: (...args: unknown[]) => void;
handleFolderDragStart?: (...args: unknown[]) => void;
handleFolderDragEnd?: (...args: unknown[]) => void;
@@ -41,6 +43,7 @@ export interface UseDocumentsPanelPropsArgs {
handleDocumentDragEnd?: (...args: unknown[]) => void;
searchLoading?: boolean;
tagLookupById?: unknown;
activeTagFilters?: Identifier[];
activeCorrespondentFilters?: Identifier[];
ensureAssetUrl?: (...args: unknown[]) => void;
getDocumentAsset?: (...args: unknown[]) => unknown;
@@ -80,8 +83,10 @@ const useDocumentsPanelProps = (props: UseDocumentsPanelPropsArgs) => {
refreshCurrentFolder,
currentSubfolders,
documents,
searchQuery,
searchResultIds,
folderClickHandlers,
selectedFolder,
selectFolder,
handleFolderDragStart,
handleFolderDragEnd,
@@ -95,6 +100,7 @@ const useDocumentsPanelProps = (props: UseDocumentsPanelPropsArgs) => {
handleDocumentDragEnd,
searchLoading,
tagLookupById,
activeTagFilters,
activeCorrespondentFilters,
ensureAssetUrl,
getDocumentAsset,
@@ -131,7 +137,9 @@ const useDocumentsPanelProps = (props: UseDocumentsPanelPropsArgs) => {
onRefresh: refreshCurrentFolder,
subfolders: currentSubfolders,
documents,
searchQuery,
searchResultIds,
selectedFolder,
onFolderSelect: selectFolder,
onFolderDrop: folderClickHandlers.onDrop,
onFolderDragOver: folderClickHandlers.onDragOver,
@@ -148,6 +156,8 @@ const useDocumentsPanelProps = (props: UseDocumentsPanelPropsArgs) => {
onDocumentDragEnd: handleDocumentDragEnd,
isSearchLoading: searchLoading,
tagLookupById,
activeTagFilters,
activeCorrespondentFilters,
activeCorrespondentIds: activeCorrespondentFilters,
ensureAssetUrl,
getDocumentAsset,
@@ -186,6 +196,7 @@ const useDocumentsPanelProps = (props: UseDocumentsPanelPropsArgs) => {
documentsSortDirection,
documentsSortField,
documentsViewMode,
searchQuery,
documentLookup,
draggedDocumentIds,
draggedFolderId,
@@ -214,8 +225,11 @@ const useDocumentsPanelProps = (props: UseDocumentsPanelPropsArgs) => {
refreshCurrentFolder,
searchLoading,
searchResultIds,
selectedFolder,
selectFolder,
tagLookupById,
activeTagFilters,
activeCorrespondentFilters,
tags,
ensureAssetUrl,
getDocumentAsset,
@@ -132,10 +132,10 @@ const DocumentsPanelInner: React.FC<DocumentsPanelInnerProps> = ({
onBulkReanalyze,
folderOptions,
onMoveDocumentsToFolder,
searchQuery,
activeTagFilters,
activeCorrespondentFilters,
selectedFolder,
searchQuery = '',
activeTagFilters = [],
activeCorrespondentFilters = [],
selectedFolder = null,
promoteSelectionOrder,
onDocumentTagDrop,
currentTenantId,
@@ -811,6 +811,7 @@ const DocumentsPanelInner: React.FC<DocumentsPanelInnerProps> = ({
onTagClick: toggleTagFilter,
onCorrespondentClick: toggleCorrespondentFilter,
activeCorrespondentIdSet: activeCorrespondentIdSet,
activeTagFilters,
scrollRef,
// Desk specific
onDocumentStackSelect: handleDeskDocumentStackSelect,