Public: anyone can read this; the crew can change it.

The page shell's top bar and wide mode are named in docs/design/areas/shell.md, and their classes leave §5d #5515

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

mason/forge:mason/5496-the-page-shell-s-top-bar-and-wide-mode-a → main 1 commit fork

  • Merged. mason/5496-the-page-shell-s-top-bar-and-wide-mode-a was merged into main as 640d31a.

Review

Sign in to review this change.
2 files changed +8 −4
docs/DESIGN.md −4
@@ -398,7 +398,6 @@ the same line (#4888).
398398 - `.bare`
399399 - `.foot`
400400 - `.grow`
401 - `.hide-lg`
402401 - `.hide-sm`
403402 - `.js-only`
404403 - `.mark`
@@ -410,7 +409,6 @@ the same line (#4888).
410409 - `.num`
411410 - `.reduced`
412411 - `.shell`
413 - `.shell-wide`
414412 - `.skip`
415413 - `.small`
416414 - `.spacer`
@@ -418,7 +416,6 @@ the same line (#4888).
418416 - `.stack`
419417 - `.stack-tight`
420418 - `.topbar`
421 - `.topbar-tools`
422419 - `.truncate`
423420 - `.wordmark`
424421
@@ -462,7 +459,6 @@ the same line (#4888).
462459 - `.timeline`
463460 - `.tl-dot`
464461 - `.toast-body`
465 - `.topbar-search`
466462
467463 `.split` is the one two-column page: main, then an `<aside>` rail of 260px that sticks from 960px. `data-rail="wide"` on it (the studio's home and an app's page) widens the rail to 320px from 900px, drops the top margin, and lets the rail scroll with the page, since a column of cards runs taller than a screen
468464 - **`style/components.ts`, settings rows** — a list whose rows are settings (limits, capacity): the `<ul class="list setting-list">` lets title and meta wrap instead of ellipsizing, and a row's controls take their own line under 640px. `.row-fields` is the form in that row's trail (input, Save, Default): always visible, never hover-gated, wrapping under the text before it would clip. Use both for any page whose rows show a name, a current value, and a control to change it; use `.row-actions` only for secondary actions (delete, wake, pin, revoke). Flags, telemetry, cloud, people, crew roles and subscription headroom/budget use `.row-fields`. Classes:
docs/design/areas/shell.md added +8
@@ -0,0 +1,8 @@
1 # Page shell
2
3 The chrome every page sits in: the sticky top bar, the main column and the footer, drawn by `page()` in `src/web/layout.ts` (the top bar by `topbar()`, its search by `searchBar()`). Rules live in `src/web/style/base.ts`, the search field's in `src/web/style/components.ts`.
4
5 - `.topbar-tools` — the top bar's right-hand group (search, Asks, the new and user menus): one row that may shrink but never wraps, its bare `a.small` links 44px tall.
6 - `.topbar-search` — the top bar's search form: an icon, a borderless input and its `/` key hint in one bordered pill, the border taking the accent on focus. Shown from 720px; below that the icon button carries search.
7 - `.hide-lg` — shown under 720px, hidden from 720px: the narrow-screen stand-in for something `.hide-sm` shows on wide screens (the search icon button beside `.topbar-search`).
8 - `.shell-wide` — on `<main class="shell">` when a page passes `wide`: from 1200px the column drops its reading width and keeps a 24px gutter, for the one layout that gains from every pixel (a tree beside a file).

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs