Console shell: tab strips, phone bottom
Goal: shared shell components behave well everywhere, so pages stop collecting one-off fixes for the same flaw. Fix each item once, in the shared component. The items below are goals, not literal steps: decline any with a reason.
1. Tab strips (`components/Tabs.tsx` and its users) never show a label clipped mid-word, as seen with "hines" for Machines and "kflows". Either scroll so a whole tab shows at each edge with a clear "more this way" cue, or collapse into the `overflowMenu` "More ▾" so the strip stays on one row. Seen on the Directory strip beside an open editor, Audit on a phone, and Machines on a phone.
2. The phone bottom nav uses real icons, not two-letter monograms (Tk, Di, Au, St).
3. On a phone, the page scroll container has `scroll-padding-bottom` equal to the bottom nav's height, so a focused or scrolled-to control (e.g. Save profile) never lands behind the nav.
4. The floating assistant (sparkle) button never covers row controls, such as the last /tasks row's `⋯` at 1024px. Reserve bottom space under lists, or move the button.
5. `ui/PageHeader` exposes stable styling hooks (`data-slot`s or a `compact` prop). `PaneHeader` stops styling it through private DOM nesting and MUI class names.
6. A Settings `?section=` deep link scrolls only the settings column, never the window. The document never grows taller than the viewport, so contain the `settings-row-help` spans. Task 6782 (d20e5a28f) probably shipped this: verify it and drop it if so.
Out of scope: page-specific layouts (each has its own task).
Done means:
- A screenshot of each item at desktop and at 390px.
- e2e/tasks-feed.spec.ts and page-header-mobile.spec.ts pass.
- At 1440px, a deep link leaves `window.scrollY` at 0.
- `./dc check full` is green.
Consolidates drafts 6827 (items 1–2), 6910 (item 1), 6898 (item 4), 6893 (item 2), 6881 (item 2), 6886 (item 2), 6900 (item 1), 6868 (item 1), 6830 (item 2), 6879 (item 1) and 6866 (item 1) (Task 6937).
Outcome
Shared-shell fixes merged (#5748, ac561cfac): tab strips show only whole tabs plus an edge chevron, the phone nav has icons, scroll-padding matches the nav, rows stay clear of the Help launcher, PageHeader has data-slots, Settings help spans are contained. Quick gate and e2e green; visual check done at 1440–390px. Deploy superseded by a later run. Follow-ups: draft 6991.
Artifacts
Activity
- Run
- Runner started
- Ready
- Runner started
- Ready
- Runner started
- Runner ended (done)