cleanup
This commit is contained in:
@@ -1,11 +1,8 @@
|
||||
import React, { useCallback, useMemo, useState } from 'react';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import { ChevronsRightIcon } from '../ui/icons';
|
||||
import { createDocumentsSurface } from '../documents/DocumentsTable';
|
||||
import { createPreviewSurface } from '../preview/PreviewWorkspace';
|
||||
import { createDesktopSurface } from '../DesktopWorkspace';
|
||||
import { useAppShell } from '../appShellContext';
|
||||
import DocumentsLayout from './DocumentsLayout';
|
||||
import { useWorkspaceSurface } from './useWorkspaceSurface';
|
||||
|
||||
const DocumentsRoute = () => {
|
||||
const {
|
||||
@@ -63,66 +60,14 @@ const DocumentsRoute = () => {
|
||||
navigate(target);
|
||||
}, [navigate, parentBreadcrumb]);
|
||||
|
||||
const isWorkspace = workspaceMode === 'skeuo';
|
||||
const isPreviewWorkspace = Boolean(previewWorkspaceDocument);
|
||||
const showPreviewWorkspace = !isWorkspace && isPreviewWorkspace;
|
||||
|
||||
const renderSidebarToggle = useCallback(() => {
|
||||
if (!sidebarCollapsed) {
|
||||
return null;
|
||||
}
|
||||
return (
|
||||
<button
|
||||
type="button"
|
||||
className="icon-button"
|
||||
onClick={expandSidebar}
|
||||
aria-label="Expand sidebar"
|
||||
title="Expand sidebar"
|
||||
>
|
||||
<ChevronsRightIcon />
|
||||
</button>
|
||||
);
|
||||
}, [sidebarCollapsed, expandSidebar]);
|
||||
|
||||
const documentsSurface = useMemo(() => {
|
||||
if (!documentsTableProps) {
|
||||
return null;
|
||||
}
|
||||
return createDocumentsSurface({
|
||||
tableProps: documentsTableProps,
|
||||
parentBreadcrumb,
|
||||
onNavigateParent: parentBreadcrumb ? handleNavigateParent : null,
|
||||
renderSidebarToggle,
|
||||
detailProps: detailPanelProps,
|
||||
detailOpen: detailPanelOpen,
|
||||
});
|
||||
}, [
|
||||
const { surface } = useWorkspaceSurface({
|
||||
sidebarCollapsed,
|
||||
onExpandSidebar: expandSidebar,
|
||||
documentsTableProps,
|
||||
parentBreadcrumb,
|
||||
handleNavigateParent,
|
||||
renderSidebarToggle,
|
||||
detailPanelProps,
|
||||
detailPanelOpen,
|
||||
]);
|
||||
|
||||
const previewSurface = useMemo(() => {
|
||||
if (!showPreviewWorkspace || !previewWorkspaceDocument) {
|
||||
return null;
|
||||
}
|
||||
return createPreviewSurface({
|
||||
document: previewWorkspaceDocument,
|
||||
previewEntry: previewWorkspaceEntry,
|
||||
ensureAssetUrl,
|
||||
ensurePreviewData,
|
||||
getDocumentAsset,
|
||||
resolveApiPath,
|
||||
notifyApiError,
|
||||
onRegenerate: handleThumbnailRegeneration,
|
||||
onClose: closeDocumentPreview,
|
||||
renderSidebarToggle,
|
||||
});
|
||||
}, [
|
||||
showPreviewWorkspace,
|
||||
workspaceMode,
|
||||
skeuoWorkspaceProps,
|
||||
previewWorkspaceDocument,
|
||||
previewWorkspaceEntry,
|
||||
ensureAssetUrl,
|
||||
@@ -132,24 +77,9 @@ const DocumentsRoute = () => {
|
||||
notifyApiError,
|
||||
handleThumbnailRegeneration,
|
||||
closeDocumentPreview,
|
||||
renderSidebarToggle,
|
||||
]);
|
||||
|
||||
const workspaceSurface = useMemo(() => {
|
||||
if (!isWorkspace) {
|
||||
return null;
|
||||
}
|
||||
return createDesktopSurface({
|
||||
workspaceProps: skeuoWorkspaceProps,
|
||||
renderSidebarToggle,
|
||||
});
|
||||
}, [isWorkspace, skeuoWorkspaceProps, renderSidebarToggle]);
|
||||
|
||||
const surface = showPreviewWorkspace
|
||||
? previewSurface
|
||||
: isWorkspace
|
||||
? workspaceSurface
|
||||
: documentsSurface;
|
||||
parentBreadcrumb,
|
||||
onNavigateParent: handleNavigateParent,
|
||||
});
|
||||
|
||||
if (!surface) {
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user