This commit is contained in:
James Brunton 2025-09-18 15:54:34 +01:00
parent d8ff2c0aa8
commit 98a0274bc9

View File

@ -20,63 +20,64 @@ const viewOptionStyle = {
// Build view options showing text always // Build view options showing text always
const createViewOptions = (currentView: WorkbenchType, switchingTo: WorkbenchType | null, isToolSelected: boolean) => { const createViewOptions = (currentView: WorkbenchType, switchingTo: WorkbenchType | null, isToolSelected: boolean) => {
const options = [ const viewerOption = {
{ label: (
label: ( <div style={viewOptionStyle as React.CSSProperties}>
<div style={viewOptionStyle as React.CSSProperties}> {switchingTo === "viewer" ? (
{switchingTo === "viewer" ? ( <Loader size="xs" />
<Loader size="xs" /> ) : (
) : ( <VisibilityIcon fontSize="small" />
<VisibilityIcon fontSize="small" /> )}
)} <span>Viewer</span>
<span>Viewer</span> </div>
</div> ),
), value: "viewer",
value: "viewer", };
},
{ const pageEditorOption = {
label: ( label: (
<div style={viewOptionStyle as React.CSSProperties}> <div style={viewOptionStyle as React.CSSProperties}>
{currentView === "fileEditor" ? ( {currentView === "pageEditor" ? (
<> <>
{switchingTo === "fileEditor" ? <Loader size="xs" /> : <FolderIcon fontSize="small" />} {switchingTo === "pageEditor" ? <Loader size="xs" /> : <EditNoteIcon fontSize="small" />}
<span>Active Files</span> <span>Page Editor</span>
</> </>
) : ( ) : (
<> <>
{switchingTo === "fileEditor" ? <Loader size="xs" /> : <FolderIcon fontSize="small" />} {switchingTo === "pageEditor" ? <Loader size="xs" /> : <EditNoteIcon fontSize="small" />}
<span>Active Files</span> <span>Page Editor</span>
</> </>
)} )}
</div> </div>
), ),
value: "fileEditor", value: "pageEditor",
}, };
const fileEditorOption = {
label: (
<div style={viewOptionStyle as React.CSSProperties}>
{currentView === "fileEditor" ? (
<>
{switchingTo === "fileEditor" ? <Loader size="xs" /> : <FolderIcon fontSize="small" />}
<span>Active Files</span>
</>
) : (
<>
{switchingTo === "fileEditor" ? <Loader size="xs" /> : <FolderIcon fontSize="small" />}
<span>Active Files</span>
</>
)}
</div>
),
value: "fileEditor",
};
// Build options array conditionally
return [
viewerOption,
...(isToolSelected ? [] : [pageEditorOption]),
fileEditorOption,
]; ];
// Only add Page Editor option when not in a tool
if (!isToolSelected) {
options.splice(1, 0, {
label: (
<div style={viewOptionStyle as React.CSSProperties}>
{currentView === "pageEditor" ? (
<>
{switchingTo === "pageEditor" ? <Loader size="xs" /> : <EditNoteIcon fontSize="small" />}
<span>Page Editor</span>
</>
) : (
<>
{switchingTo === "pageEditor" ? <Loader size="xs" /> : <EditNoteIcon fontSize="small" />}
<span>Page Editor</span>
</>
)}
</div>
),
value: "pageEditor",
});
}
return options;
}; };
interface TopControlsProps { interface TopControlsProps {