Two-row grouped footer + title-case dashboard tabs - #164
Conversation
Capitalize the tab labels (Dashboard/Coordination/Project/Library/Topology/ Graveyard). The accent logic already targets the hotkey char case-insensitively, so the gold initial now reads as the capital and doubles as the hotkey hint. Key bindings stay lowercase/unchanged; this is display-only. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the flat, auto-wrapped footer hint string with mockup "B": a two-row layout — row 1 MOVE (navigation), row 2 grouped actions (CREATE / TALK / MANAGE / system) with dim uppercase group labels and a dim divider between same-line groups. - theme.ts: add FooterGroup/FooterRow types and renderFooterRows, which packs group tokens to a width budget, divides same-line groups with a muted │, and never starts a wrapped line with a divider. - dashboard-renderers.ts: replace the buildHelpLine closure with an exported, pure buildDashboardFooterRows(state) mapping all 5 state variants; each keeps its exact prior key set (verified by a parity test), only regrouped. Footer assembly renders the two rows. - Tests: renderFooterRows (labels/divider/wrap), and per-variant key-set parity. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
@coderabbitai review |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughTab labels in ChangesDashboard Footer Refactor + Tab Label Casing
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
✅ Action performedReview finished.
|
The explicit "no sessions & no worktrees" branch made the trailing fallback dead code (and the fallback carried a stray [w] the real variant-1 state never shows). Collapse them: drop the explicit branch and let the now-reachable fallback handle sessions==0 && !hasWorktrees with the correct no-[w] key set. Parity test unchanged and still green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Review round 1 — sub-agent findings (CodeRabbit had no findings this round)
|
What
Footer + tab-bar readability pass (mockup "B").
1. Title-case dashboard tabs
Tab labels are now Title Case —
Dashboard / Coordination / Project / Library / Topology / Graveyard. The accent logic already targets the hotkey char case-insensitively, so the gold initial becomes the capital and reads as the hotkey. Display-only;key/hotkeyand bindings unchanged.2. Two-row grouped footer
Replaces the flat, auto-wrapped hint string with a two-row layout:
MOVE— navigation (items/jump/resume/details/attention/back/reorder).│between same-line groups:CREATE(n/v/f/w) ·TALK(S/H/T/o/R/e) ·MANAGE(m/r/x) · system (?/q).New
renderFooterRowsprimitive intheme.ts(FooterGroup/FooterRow) packs group tokens to the width budget, divides same-line groups, and never starts a wrapped line with a divider. The oldbuildHelpLineclosure becomes an exported, purebuildDashboardFooterRows(state)mapping all 5 state variants.Presentation-only — no key bindings or behavior change. Each state variant keeps its exact prior key set (locked by a parity test).
Tests
renderFooterRows: group labels uppercased/dim, divider between same-line groups, wraps to width, no orphan leading divider, one line per row.buildDashboardFooterRows: structure per variant + exact key-set parity with the old footer across all variants.statusline.test.tsfor capitalized accented tabs.Built across two audited phases (plan-audit + impl-audit each).
🤖 Generated with Claude Code
Summary by CodeRabbit
Style
New Features
Tests