import { AppHeader } from './AppHeader'; import { TabBar } from './TabBar'; import { Toolbar } from './Toolbar'; import { Breadcrumb } from './Breadcrumb'; import { StatusBar } from './StatusBar'; import { EditorPane } from '@/components/editor/EditorPane'; import { PreviewPane } from '@/components/preview/PreviewPane'; import { Sidebar } from '@/components/sidebar/Sidebar'; import { useAppStore } from '@/stores/app-store'; import { ResizablePanelGroup, ResizablePanel, ResizableHandle } from '@/components/ui/resizable'; import { useFileShortcuts } from '@/hooks/use-file-shortcuts'; import { useRestoreLastFolder } from '@/hooks/use-restore-last-folder'; import { useRegisterMenuCommands, useBridgeNativeMenu } from '@/lib/commands/register-menu-commands'; import { useZenMode } from '@/hooks/use-zen-mode'; export function AppShell() { useFileShortcuts(); useRestoreLastFolder(); useRegisterMenuCommands(); useBridgeNativeMenu(); useZenMode(); const { sidebarVisible, previewVisible, paneSizes, setPaneSizes } = useAppStore(); const zenMode = useAppStore((s) => s.zenMode); if (zenMode) { return (
setPaneSizes({ sidebar: 0, editor: sizes[0], preview: sizes[1] })} >
{previewVisible && ( <>
)}
); } return (
setPaneSizes({ sidebar: sizes[0], editor: sizes[1], preview: sizes[2] })} > {sidebarVisible && ( <> )} {previewVisible && ( <> )}
); }