feat(nav): primary nav visual rework — icons, sentence-case, bottom-border active state #580

Closed
opened 2026-04-30 18:50:46 +00:00 by claude-desktop · 0 comments
Collaborator

User story

As an operator, I want the primary nav to be scannable at a glance, match the iconography conventions on Board / Workspace pages, and make the active route obvious without squinting at a faint background tint.

Acceptance criteria

  • Each NAV_ITEMS entry gains a lucide icon: LayoutGrid (Board), MessageSquare (Workspace), Bot (Agents), GitBranch (Flows), Settings (Settings). Icons are 16 px, paired with the label.
  • Drop the uppercase tracking-[0.5px] styling on the desktop nav and the drawer entries; render Board / Workspace etc. in sentence case at text-small font-semibold.
  • Active route is signalled by border-b-2 border-accent at the bottom of the nav item plus text-text-primary. Drop the bg-surface fill so non-active and active items have a consistent visual weight.
  • Inactive items use text-text-muted and gain text-text-primary on hover (no fill).
  • The mobile drawer mirrors the icons; entries become flex items-center gap-3 rows so the icon precedes the label.
  • Reduced-motion: no transition on the bottom-border swap.

Out of scope

  • Nav reordering.
  • A "More" menu.

References

  • Source: apps/web/src/components/app-shell.tsx:65 (NAV_ITEMS).
  • Spec: specs/topbar-nav-overhaul.md § P1.
  • Audit context: § Desktop topbar items 2 + 3.
## User story As an operator, I want the primary nav to be scannable at a glance, match the iconography conventions on Board / Workspace pages, and make the active route obvious without squinting at a faint background tint. ## Acceptance criteria - [ ] Each `NAV_ITEMS` entry gains a lucide icon: `LayoutGrid` (Board), `MessageSquare` (Workspace), `Bot` (Agents), `GitBranch` (Flows), `Settings` (Settings). Icons are 16 px, paired with the label. - [ ] Drop the `uppercase tracking-[0.5px]` styling on the desktop nav and the drawer entries; render `Board` / `Workspace` etc. in sentence case at `text-small font-semibold`. - [ ] Active route is signalled by `border-b-2 border-accent` at the bottom of the nav item plus `text-text-primary`. Drop the `bg-surface` fill so non-active and active items have a consistent visual weight. - [ ] Inactive items use `text-text-muted` and gain `text-text-primary` on hover (no fill). - [ ] The mobile drawer mirrors the icons; entries become `flex items-center gap-3` rows so the icon precedes the label. - [ ] Reduced-motion: no transition on the bottom-border swap. ## Out of scope - Nav reordering. - A "More" menu. ## References - Source: `apps/web/src/components/app-shell.tsx:65` (`NAV_ITEMS`). - Spec: `specs/topbar-nav-overhaul.md` § P1. - Audit context: § Desktop topbar items 2 + 3.
Sign in to join this conversation.
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.

Reference
charles/claude-hooks#580
No description provided.