/** * TabbedLayout - Main layout with project-centric sidebar and multi-pane tabbed content. * * Layout structure: * - Sidebar (280px): Project dropdown + date-grouped sessions * - Main content: PaneContainer with one or more panes, each with TabBar + content */ import { isElectronMode } from '@renderer/api'; import { getTrafficLightPaddingForZoom } from '@renderer/constants/layout'; import { useFullScreen } from '@renderer/hooks/useFullScreen'; import { useKeyboardShortcuts } from '@renderer/hooks/useKeyboardShortcuts'; import { useZoomFactor } from '@renderer/hooks/useZoomFactor'; import { UpdateBanner } from '../common/UpdateBanner'; import { UpdateDialog } from '../common/UpdateDialog'; import { WorkspaceIndicator } from '../common/WorkspaceIndicator'; import { CommandPalette } from '../search/CommandPalette'; import { CustomTitleBar } from './CustomTitleBar'; import { PaneContainer } from './PaneContainer'; import { Sidebar } from './Sidebar'; export const TabbedLayout = (): React.JSX.Element => { useKeyboardShortcuts(); const zoomFactor = useZoomFactor(); const isFullScreen = useFullScreen(); const trafficLightPadding = !isElectronMode() ? 0 : isFullScreen ? 8 : getTrafficLightPaddingForZoom(zoomFactor); return (
{/* Command Palette (Cmd+K) */} {/* Sidebar - Project dropdown + Sessions (280px) */} {/* Multi-pane content area */}
); };