diff --git a/frontend/src/components/layout/Workbench.tsx b/frontend/src/components/layout/Workbench.tsx index 62fc48667..8186b449e 100644 --- a/frontend/src/components/layout/Workbench.tsx +++ b/frontend/src/components/layout/Workbench.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useMemo } from 'react'; import { Box } from '@mantine/core'; import { useRainbowThemeContext } from '../shared/RainbowThemeProvider'; import { useToolWorkflow } from '../../contexts/ToolWorkflowContext'; @@ -6,6 +6,7 @@ import { useFileHandler } from '../../hooks/useFileHandler'; import { useFileState } from '../../contexts/FileContext'; import { useNavigationState, useNavigationActions } from '../../contexts/NavigationContext'; import { useViewer } from '../../contexts/ViewerContext'; +import { PageEditorProvider } from '../../contexts/PageEditorContext'; import './Workbench.css'; import TopControls from '../shared/TopControls'; @@ -49,6 +50,9 @@ export default function Workbench() { // Get active file index from ViewerContext const { activeFileIndex, setActiveFileIndex } = useViewer(); + // Get all file IDs for PageEditor initialization + const allFileIds = useMemo(() => activeFiles.map(f => f.fileId), [activeFiles]); + const handlePreviewClose = () => { setPreviewFile(null); const previousMode = sessionStorage.getItem('previousMode'); @@ -144,43 +148,45 @@ export default function Workbench() { }; return ( - - {/* Top Controls */} - {activeFiles.length > 0 && ( - { - const stub = selectors.getStirlingFileStub(f.fileId); - return { fileId: f.fileId, name: f.name, versionNumber: stub?.versionNumber }; - })} - currentFileIndex={activeFileIndex} - onFileSelect={setActiveFileIndex} - /> - )} - - {/* Dismiss All Errors Button */} - - - {/* Main content area */} + 0 ? '3.5rem' : '0'), - }} + className="flex-1 h-full min-w-80 relative flex flex-col" + style={ + isRainbowMode + ? {} // No background color in rainbow mode + : { backgroundColor: 'var(--bg-background)' } + } > - {renderMainContent()} - + {/* Top Controls */} + {activeFiles.length > 0 && ( + { + const stub = selectors.getStirlingFileStub(f.fileId); + return { fileId: f.fileId, name: f.name, versionNumber: stub?.versionNumber }; + })} + currentFileIndex={activeFileIndex} + onFileSelect={setActiveFileIndex} + /> + )} -