Skip to content

refactor: replace horizontal nav with vertical sidebar nav - #165

Merged
h4yfans merged 2 commits into
mainfrom
feat/vertical-nav
Apr 6, 2026
Merged

refactor: replace horizontal nav with vertical sidebar nav#165
h4yfans merged 2 commits into
mainfrom
feat/vertical-nav

Conversation

@h4yfans

@h4yfans h4yfans commented Apr 6, 2026

Copy link
Copy Markdown
Collaborator

What

Replace horizontal navigation with vertical sidebar nav using shadcn SidebarMenu primitives.

Why

Vertical sidebar nav is the standard desktop app pattern (Linear, Notion, Things). The existing horizontal nav reimplemented what the shadcn primitives already provide — active states, tooltips, collapse behavior. This eliminates ~80 lines of custom CSS and aligns with the component library.

How

  • Created sidebar-nav.tsx using SidebarGroup/SidebarMenu/SidebarMenuItem/SidebarMenuButton/SidebarMenuBadge primitives
  • Moved nav from SidebarHeader to SidebarContent (above the drill-down container)
  • Simplified SidebarHeaderContent — now only renders traffic lights and vault switcher
  • Deleted horizontal-nav.tsx (114 lines replaced by 65 lines using primitives)

Type

  • feat — new feature
  • fix — bug fix
  • refactor — restructure without behavior change
  • style — visual/UI only
  • perf — performance improvement
  • test — adding or updating tests
  • chore — tooling, deps, config
  • docs — documentation only
  • ci — CI/CD changes

Test plan

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing (describe below)

Verified: nav items stack vertically, badges show for Inbox/Tasks, tooltips in collapsed mode, keyboard shortcuts ⌘⌥1-4 work, drill-down (tag click) doesn't hide nav, active state highlights correctly.

Checklist

  • Self-reviewed the diff
  • No hardcoded secrets or credentials
  • Files stay under ~500 LOC
  • Follows immutable data patterns

h4yfans added 2 commits April 6, 2026 17:26
Use shadcn SidebarMenu primitives instead of custom layout code.
Move navigation from sidebar header to content area.
@h4yfans
h4yfans force-pushed the feat/vertical-nav branch from 4d8649d to 6614a4c Compare April 6, 2026 14:26
@h4yfans
h4yfans merged commit 0a26571 into main Apr 6, 2026
2 checks passed
@h4yfans
h4yfans deleted the feat/vertical-nav branch April 6, 2026 14:32
h4yfans added a commit that referenced this pull request May 6, 2026
refactor: replace horizontal nav with vertical sidebar nav
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant