TOP ROW: Finder-style contextual toolbar for every Tab: back/forward, view modes, Sort & Group, action capsule, expanding search (2/3) #582

Open
opened 2026-10-01 06:31:27 +00:00 by kayg · 2 comments
Owner

Owner decisions (2026-10-01, toolbar grill Q11–Q17; Finder's macOS 26 top row is the reference)

One shared top-row component (extend ModeHeader; Pill/PillGroup/ProgressiveBlur; no new header) for every Tab:

  • Left: a ‹ › back/forward capsule (in-app history: folders, albums, notes). The buttons disappear when unavailable (not dimmed). ⌘[ / ⌘] (and the Windows & Linux preset equivalents, #542). Then the plain title.
  • Right, in order:
    • the view-mode icon capsule (Files: List/Grid/Gallery; Photos: Grid/Days/Months/Years; Tasks: Board/List/Matrix; each Tab supplies its modes), replacing "View as" in ⋯;
    • a Sort & Group menu pill ▦⌄;
    • the selection-bound action capsule from the action registry (issue 1 of 3);
    • a search button that expands into a field with an animation on click or ⌘F (Ctrl+F preset), reusing the existing search code, scoped to the current Tab/folder, with "Search everywhere" escalating to the global palette (⌘K). No animation when opened with the keyboard (#527).
  • Notifications + account stay in the sidebar header. When the sidebar is hidden, a compact [🔔 👤] group sits at the far right.
  • Phones: one row ‹ Title ⋯ (Select and view modes inside ⋯), plus pull down to search.
  • Rule (update CLAUDE.md chrome + DESIGN §34): "Navigation lives in the sidebar (views and areas). The top row is a contextual floating toolbar for the current view, never a second navigation bar, never stacked pill bars." No heading bars (#577): floating pills + ProgressiveBlur only.
    Tests:
  • an e2e per Tab: history buttons appear only when usable; view modes switch; ⌘F expands and searches in scope; pull-to-search on a phone viewport;
  • a layout assertion: one row, no overlap, at 390/820/1440 and at 200 % text.
    Screenshots of every Tab in both themes.
    Order: 2 of 3, after the action registry issue.
## Owner decisions (2026-10-01, toolbar grill Q11–Q17; Finder's macOS 26 top row is the reference) **One shared top-row component (extend ModeHeader; Pill/PillGroup/ProgressiveBlur; no new header) for every Tab:** - **Left:** a `‹ ›` back/forward capsule (in-app history: folders, albums, notes). The buttons **disappear** when unavailable (not dimmed). ⌘[ / ⌘] (and the Windows & Linux preset equivalents, #542). Then the plain title. - **Right, in order:** - the **view-mode** icon capsule (Files: List/Grid/Gallery; Photos: Grid/Days/Months/Years; Tasks: Board/List/Matrix; each Tab supplies its modes), replacing "View as" in ⋯; - a **Sort & Group** menu pill `▦⌄`; - the selection-bound **action capsule** from the action registry (issue 1 of 3); - a **search button that expands into a field with an animation** on click or ⌘F (Ctrl+F preset), reusing the existing search code, scoped to the current Tab/folder, with "Search everywhere" escalating to the global palette (⌘K). No animation when opened with the keyboard (#527). - **Notifications + account** stay in the sidebar header. When the sidebar is hidden, a compact `[🔔 👤]` group sits at the far right. - **Phones:** one row `‹ Title ⋯` (Select and view modes inside ⋯), plus **pull down to search**. - **Rule (update CLAUDE.md chrome + DESIGN §34):** "Navigation lives in the sidebar (views and areas). The top row is a contextual floating toolbar for the current view, never a second navigation bar, never stacked pill bars." No heading bars (#577): floating pills + ProgressiveBlur only. **Tests:** - an e2e per Tab: history buttons appear only when usable; view modes switch; ⌘F expands and searches in scope; pull-to-search on a phone viewport; - a layout assertion: one row, no overlap, at 390/820/1440 and at 200 % text. Screenshots of every Tab in both themes. **Order:** 2 of 3, after the action registry issue.
Author
Owner

Owner change (2026-10-01, later): the inline search field is dropped. No search field or expanding search button in the top row. ⌘F / Ctrl+F stays with the browser (find in page). Search stays as it is: the palette (⌘K / Ctrl+K everywhere; ⌘⇧F / Ctrl+Shift+F scoped to the current Tab or folder), opened from the sidebar header search button or the shortcuts. The top row is: back/forward (disappear when unavailable), title, view-mode capsule, Sort & Group, action capsule. DESIGN §34 is updated accordingly.

**Owner change (2026-10-01, later):** the inline search field is **dropped**. No search field or expanding search button in the top row. ⌘F / Ctrl+F stays with the browser (find in page). Search stays as it is: the palette (⌘K / Ctrl+K everywhere; ⌘⇧F / Ctrl+Shift+F scoped to the current Tab or folder), opened from the sidebar header search button or the shortcuts. The top row is: back/forward (disappear when unavailable), title, view-mode capsule, Sort & Group, action capsule. DESIGN §34 is updated accordingly.
Author
Owner

Owner (2026-10-01): "we need a search button sure but no inline search field." Search stays a button that opens the palette (scoped to the current Tab/folder, like ⌘⇧F; "Search everywhere" inside). Desktop: the button stays in the sidebar header. When the sidebar is collapsed, it joins the compact group at the far right [🔍 🔔 👤]. Phones: the top row is ‹ Title 🔍 ⋯. Pull-down-to-search on phones opens the same scoped palette. No inline field anywhere.

**Owner (2026-10-01): "we need a search button sure but no inline search field."** Search stays a **button that opens the palette** (scoped to the current Tab/folder, like ⌘⇧F; "Search everywhere" inside). Desktop: the button stays in the sidebar header. When the sidebar is collapsed, it joins the compact group at the far right `[🔍 🔔 👤]`. Phones: the top row is `‹ Title 🔍 ⋯`. Pull-down-to-search on phones opens the same scoped palette. No inline field anywhere.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal#582
No description provided.