diff --git a/src/components/Shell.tsx b/src/components/Shell.tsx index 7f343d0..74c9d53 100644 --- a/src/components/Shell.tsx +++ b/src/components/Shell.tsx @@ -398,58 +398,9 @@ export function Shell() { height="100%" backgroundColor={t.surface} > - {/* ── Middle row: tab sidebar (root pane) + active page ──────────────── */} - - {/* ── Left tab sidebar ─────────────────────────────────────────────── */} - - typeof v === "number", - )} - > - {(tab) => { - const active = () => nav.activeTab() === tab; - // The sidebar pane is gone (task 01); the tab strip stays - // rendered for now (removed in task 05) and highlights the - // active tab. Clicking just switches tabs — no pane focus. - return ( - { - nav.setActiveTab(tab); - }} - > - - {active() ? "❯ " : " "} - {tab}. {TAB_LABEL[tab]} - - - ); - }} - - - - - {nowPlaying()} - - - - - {/* ── Active page (owns its panes) ────────────────────────────────── */} - - {LayerGraph[nav.activeTab()]()} - + {/* ── Middle row: full-width active page ──────────────────────────────── */} + + {LayerGraph[nav.activeTab()]()} {/* ── Bottom status / command bar ─────────────────────────────────────── */} @@ -477,12 +428,38 @@ export function Shell() { ● {nav.selectedIds().length} + + + {nowPlaying()} + + {pendingLabel()} + {/* ── Tab strip ─────────────────────────────────────────────────── */} + typeof v === "number", + )} + > + {(tab) => { + const active = () => nav.activeTab() === tab; + return ( + + {active() ? "≡" : " "}[{tab}]{" "} + {TAB_LABEL[tab]}{" "} + + ); + }} + - :cmd ~help q quit + ~ }