diff --git a/frontend/src/app/DocumentsRoute.tsx b/frontend/src/app/DocumentsRoute.tsx index 87ec466..a9877a4 100644 --- a/frontend/src/app/DocumentsRoute.tsx +++ b/frontend/src/app/DocumentsRoute.tsx @@ -26,18 +26,10 @@ const DocumentsInner: React.FC<{ const { openDetailPanel } = surfaceConfig; const sidebarHidden = sidebarCollapsed || sidebarSuppressed; - const documentsTablePropsWithNav = surfaceConfig.documentsTableProps - ? { - ...surfaceConfig.documentsTableProps, - onBreadcrumbNavigate: surfaceConfig.handleBreadcrumbNavigate, - } - : null; - const { surface } = useWorkspaceSurface({ sidebarHidden, onExpandSidebar: expandSidebar, ...surfaceConfig, - documentsTableProps: documentsTablePropsWithNav, }); useEffect(() => { diff --git a/frontend/src/app/useDocumentsShell.ts b/frontend/src/app/useDocumentsShell.ts index c7b2494..bec4546 100644 --- a/frontend/src/app/useDocumentsShell.ts +++ b/frontend/src/app/useDocumentsShell.ts @@ -22,7 +22,7 @@ const useDocumentsShell = (): DocumentsShellView => { return useMemo(() => { const surfaceConfig: WorkspaceSurfaceConfig = { - documentsTableProps: {}, + viewMode: shell.search?.documentsViewMode, detailPanelProps: (shell.detailPanel?.detailPanelProps ?? null) as WorkspaceSurfaceConfig['detailPanelProps'], detailPanelOpen: Boolean(shell.detailPanel?.detailPanelOpen), openDetailPanel: shell.detailPanel?.openDetailPanel as WorkspaceSurfaceConfig['openDetailPanel'], diff --git a/frontend/src/app/useWorkspaceSurface.tsx b/frontend/src/app/useWorkspaceSurface.tsx index ceea65e..9030009 100644 --- a/frontend/src/app/useWorkspaceSurface.tsx +++ b/frontend/src/app/useWorkspaceSurface.tsx @@ -16,7 +16,6 @@ type EnsureViewerData = (docId: Identifier, options?: Record) = type GetDocumentAsset = (document: unknown, assetType: string) => unknown; type NotifyApiError = (error: unknown, fallbackMessage?: string) => void; -type DocumentsTableProps = ComponentProps | null; type DetailPanelProps = (ComponentProps & { onClose?: () => void; onOpenViewer?: (args: { documentIds: Array }) => void; @@ -32,7 +31,7 @@ type WorkspaceSurface = { content: ReactNode; detail?: ReactNode | null; detailM export interface UseWorkspaceSurfaceArgs { sidebarHidden?: boolean; onExpandSidebar?: () => void; - documentsTableProps?: DocumentsTableProps; + viewMode?: string; detailPanelProps?: DetailPanelProps; detailPanelOpen?: boolean; viewerWorkspaceDocument?: unknown; @@ -51,7 +50,7 @@ interface UseWorkspaceSurfaceResult { export const useWorkspaceSurface = ({ sidebarHidden = false, onExpandSidebar, - documentsTableProps, + viewMode, detailPanelProps, detailPanelOpen = false, viewerWorkspaceDocument, @@ -105,12 +104,7 @@ export const useWorkspaceSurface = ({ }, [sidebarHidden, onExpandSidebar]); const documentsSurface = useMemo(() => { - if (!documentsTableProps) { - return null; - } - const sidebarToggle = renderSidebarToggle ? renderSidebarToggle() : null; - const viewMode = documentsTableProps.viewMode; const sidebarMode = viewMode === 'desk' ? 'overlay' : 'inline'; const detailMode: 'overlay' | 'inline' | null = detailPanelOpen && detailPanelProps ? sidebarMode : null; @@ -157,7 +151,7 @@ export const useWorkspaceSurface = ({ detailMode, }; }, [ - documentsTableProps, + viewMode, renderSidebarToggle, detailPanelOpen, detailPanelProps, diff --git a/frontend/src/documents/features/folders/useFolderTreeActions.ts b/frontend/src/documents/features/folders/useFolderTreeActions.ts index da0d422..0bebdcf 100644 --- a/frontend/src/documents/features/folders/useFolderTreeActions.ts +++ b/frontend/src/documents/features/folders/useFolderTreeActions.ts @@ -179,11 +179,10 @@ const useFolderTreeActions = ({ setCreatingFolder(true); let succeeded = false; try { - const folderData = await foldersManager.create(name.trim(), targetParentId); + await foldersManager.create(name.trim(), targetParentId); showToast('Folder created.', 'success'); - await selectFolder(folderData.id, { immediate: true }); succeeded = true; return true; } catch (error) { @@ -199,7 +198,6 @@ const useFolderTreeActions = ({ }, [ notifyApiError, - selectFolder, selectedFolder, setCreatingFolder, foldersManager, diff --git a/frontend/src/documents/panel/DocumentsPanel.tsx b/frontend/src/documents/panel/DocumentsPanel.tsx index 1d7bb71..b487630 100644 --- a/frontend/src/documents/panel/DocumentsPanel.tsx +++ b/frontend/src/documents/panel/DocumentsPanel.tsx @@ -50,7 +50,7 @@ interface DocumentsPanelProps { headerLeading?: ReactNode; } -const DocumentsPanelInner: React.FC = (props) => { +const DocumentsPanelInner: React.FC = React.memo((props) => { const { headerLeading } = props; const shell = useAppShell(); const { @@ -304,7 +304,9 @@ const DocumentsPanelInner: React.FC = (props) => { ); -}; +}); + +DocumentsPanelInner.displayName = 'DocumentsPanelInner'; const DocumentsPanel: React.FC = (props) => { const shell = useAppShell();