From 7d8595b63f828695e185eb627a168edd9c4d0303 Mon Sep 17 00:00:00 2001 From: Nils Schneider Date: Sun, 2 Nov 2025 01:18:24 +0100 Subject: [PATCH] rename --- frontend/src/app/useWorkspaceSurface.js | 4 +- frontend/src/detail/DetailPanel.jsx | 2 - .../src/documents/DocumentSummarySection.jsx | 78 +------------------ ...wWorkspace.jsx => DocumentViewerPanel.jsx} | 72 ++++++++++------- frontend/src/routes/DocumentViewerRoute.jsx | 2 +- frontend/src/styles.css | 25 ++++-- 6 files changed, 65 insertions(+), 118 deletions(-) rename frontend/src/preview/{PreviewWorkspace.jsx => DocumentViewerPanel.jsx} (82%) diff --git a/frontend/src/app/useWorkspaceSurface.js b/frontend/src/app/useWorkspaceSurface.js index a254994..933dff9 100644 --- a/frontend/src/app/useWorkspaceSurface.js +++ b/frontend/src/app/useWorkspaceSurface.js @@ -1,7 +1,7 @@ import React, { useCallback, useMemo } from 'react'; import { ChevronsRightIcon } from '../ui/icons'; import { createDocumentsSurface } from '../documents/DocumentsPanel'; -import { createPreviewSurface } from '../preview/PreviewWorkspace'; +import { createDocumentViewerSurface } from '../preview/DocumentViewerPanel'; import { createDesktopSurface } from '../DesktopWorkspace'; export const useWorkspaceSurface = ({ @@ -83,7 +83,7 @@ export const useWorkspaceSurface = ({ resolveFolderPath, onFolderNavigate, } = detailExtras; - return createPreviewSurface({ + return createDocumentViewerSurface({ documentId: previewDocumentId, document: previewWorkspaceDocument, previewEntry: previewWorkspaceEntry, diff --git a/frontend/src/detail/DetailPanel.jsx b/frontend/src/detail/DetailPanel.jsx index 40f9592..448265c 100644 --- a/frontend/src/detail/DetailPanel.jsx +++ b/frontend/src/detail/DetailPanel.jsx @@ -753,8 +753,6 @@ const DetailPanel = ({ onCorrespondentRemove={onCorrespondentRemove} onUpdateTitle={onUpdateTitle} onUpdateIssued={onUpdateIssued} - resolveFolderPath={resolveFolderPath} - onFolderNavigate={onFolderNavigate} /> ); diff --git a/frontend/src/documents/DocumentSummarySection.jsx b/frontend/src/documents/DocumentSummarySection.jsx index 1d65e59..d0b307a 100644 --- a/frontend/src/documents/DocumentSummarySection.jsx +++ b/frontend/src/documents/DocumentSummarySection.jsx @@ -244,10 +244,7 @@ const DocumentSummarySection = ({ onCorrespondentAdd, onCorrespondentRemove, onUpdateTitle, - onUpdateIssued, - resolveFolderPath, - onFolderNavigate, - showFolderPath = true, + onUpdateIssued }) => { const summary = useMemo(() => { if (!document) { @@ -283,74 +280,6 @@ const DocumentSummarySection = ({ return sortCorrespondents(document?.correspondents || []); }, [correspondents, document?.correspondents]); - const folderPath = useMemo(() => { - if ( - !showFolderPath - || !document?.folder_id - || typeof resolveFolderPath !== 'function' - ) { - return null; - } - const segments = resolveFolderPath(document.folder_id); - const filtered = Array.isArray(segments) - ? segments.filter((segment) => segment?.id && segment.id !== 'root') - : null; - if (!filtered || !filtered.length) { - return null; - } - return filtered; - }, [document?.folder_id, resolveFolderPath, showFolderPath]); - - const folderDisplayNode = useMemo(() => { - if (!folderPath || !folderPath.length) { - return null; - } - return ( - - {folderPath.map((segment, index) => { - const label = segment?.name || '…'; - const targetId = segment?.id || null; - const key = `${targetId || label}-${index}`; - const isClickable = Boolean(targetId) && typeof onFolderNavigate === 'function'; - const href = !isClickable - ? null - : targetId === 'root' - ? '/documents' - : `/documents/folder/${targetId}`; - return ( - - {index > 0 ? / : null} - {isClickable ? ( - { - if ( - event.button !== 0 || - event.metaKey || - event.ctrlKey || - event.shiftKey || - event.altKey - ) { - return; - } - event.preventDefault(); - event.stopPropagation(); - onFolderNavigate(targetId); - }} - > - {label} - - ) : ( - {label} - )} - - ); - })} - - ); - }, [folderPath, onFolderNavigate]); - const metaRows = useMemo(() => { const rows = []; const currentVersionNumber = document?.current_version?.version_number; @@ -526,11 +455,6 @@ const DocumentSummarySection = ({ )} - {showFolderPath && folderDisplayNode ? ( -
- {folderDisplayNode} -
- ) : null} {titleError ?
{titleError}
: null} diff --git a/frontend/src/preview/PreviewWorkspace.jsx b/frontend/src/preview/DocumentViewerPanel.jsx similarity index 82% rename from frontend/src/preview/PreviewWorkspace.jsx rename to frontend/src/preview/DocumentViewerPanel.jsx index 519b550..ef37628 100644 --- a/frontend/src/preview/PreviewWorkspace.jsx +++ b/frontend/src/preview/DocumentViewerPanel.jsx @@ -14,7 +14,7 @@ const formatDateTime = (value) => { return Number.isNaN(date.getTime()) ? '—' : date.toLocaleString(); }; -const PreviewWorkspace = ({ +const DocumentViewerPanel = ({ document, documentId, previewEntry, @@ -27,8 +27,6 @@ const PreviewWorkspace = ({ onCorrespondentRemove, onUpdateTitle, onUpdateIssued, - resolveFolderPath, - onFolderNavigate, }) => { const sortedCorrespondents = useMemo( () => sortCorrespondents(document?.correspondents || []), @@ -66,6 +64,34 @@ const PreviewWorkspace = ({ ]; }, [document]); + const contentType = (document?.content_type || '').toLowerCase(); + const previewContent = useMemo(() => { + if (!previewEntry?.url) { + return null; + } + + const title = document?.title || document?.original_name || 'Document'; + + if (contentType.startsWith('image/')) { + return ( + {`Preview + ); + } + + return ( +