Commit eb54a2a
feat(fleet-tui-poc): full iOS design (Spotlight + context menu + action sheet + session switcher) (#8)
* feat(fleet-tui-poc): full iOS design implementation (Spotlight, context menu, action sheet, session switcher)
Implements the design at api.anthropic.com/v1/design/h/MnT9tqrbyJornGQ6jFA3mA
(README in /tmp/design/terminal-ios-style/), extending the bare-bones POC
into a full ratatui mockup of all four iOS surfaces:
* Spotlight palette — search-first, Top Hit pill (IOS_TINT #0a84ff bg,
white bold, tmux·h badge), grouped sections (PANE / SESSION / FLEET)
with 30×30 icon tiles, footer `↵ open · ⌥↵ in all panes · esc cancel`
* iOS context menu — pinned long-press menu, sectioned with hairlines,
destructive-red Kill row, ▭ pane / %id title bar with green live dot
* Action sheet — bottom-anchored grouped sheet with iOS Cancel hallmark
* Session switcher — app-switcher cards (one per codex worker) with
Focus/Queue/Pause/Kill action row
Press 1/2/3/4 to switch overlays, q to quit.
Palette: iOS dark UIKit values match the design's GLASS object —
IOS_TINT = Rgb(10,132,255), IOS_DESTRUCTIVE = Rgb(255,69,58),
IOS_GREEN = Rgb(48,209,88), IOS_ORANGE = Rgb(255,159,10),
IOS_FG = Rgb(242,242,247). Fonts default to terminal monospace.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* feat(fleet-tui-poc): session-switcher buttons are now clickable
Adds App.card_buttons hit-test registry. render_session_card pushes a
Rect for each Focus / Queue / Pause / Kill button per card; the New
worker pill registers as a NewWorker action. On MouseDown(Left) inside
SessionSwitcher the App.dispatch_card_click walks the registry and
sets App.last_action with a human-readable line ("✓ Focus → pane 1
(would: tmux select-pane -t codex-fleet:overview.1)") that flashes in
the footer area until the next click.
Card sizing also tightened: strip height now caps at 70% of the
available vertical space and centers between header and footer,
matching artboard D in /tmp/design/terminal-ios-style/project/
palettes.jsx (artboard shows ~78%; we leave 8% for the flash row).
card_w 30→28 + gap 2→1 so a wider set of cards fits in modest kitty
sizes.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: NagyVikt <nagy.viktordp@gmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 010b39e commit eb54a2a
2 files changed
Lines changed: 1715 additions & 56 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
44 | 56 | | |
45 | 57 | | |
46 | | - | |
| 58 | + | |
47 | 59 | | |
48 | 60 | | |
49 | 61 | | |
| |||
55 | 67 | | |
56 | 68 | | |
57 | 69 | | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
58 | 91 | | |
59 | 92 | | |
60 | 93 | | |
| |||
0 commit comments