Skip to content

feat: customizable sidebar layout system with 16 variants#65

Merged
ParkerM2 merged 1 commit intomasterfrom
feature/customizable-sidebar-layouts
Feb 22, 2026
Merged

feat: customizable sidebar layout system with 16 variants#65
ParkerM2 merged 1 commit intomasterfrom
feature/customizable-sidebar-layouts

Conversation

@ParkerM2
Copy link
Owner

Summary

  • Add 16 selectable sidebar layout variants using shadcn composable Sidebar components
  • Users can switch layouts from Settings > Display with SVG wireframe preview
  • Breadcrumb navigation via TanStack Router staticData pattern
  • Lazy-loaded layout switching via LayoutWrapper
  • Shared nav items extracted to shared-nav.ts for all 16 variants

Changes

  • 24 new files: 16 layout variants, sidebar/breadcrumb UI primitives, LayoutWrapper, ContentHeader, AppBreadcrumbs, LayoutSection, shared-nav, layout types
  • 25 modified files: RootLayout refactored, settings schema/store/hydration, all route files with breadcrumbLabel, 8 agent definitions, 4 ai-docs files

Verification

  • npm run lint — 0 errors
  • npm run typecheck — 0 errors
  • npm run test — 404 passed (248 unit + 156 integration)
  • npm run build — successful
  • npm run check:docs — PASS

Test plan

  • Open Settings > Display, verify "Sidebar Layout" section appears
  • Select each of the 16 layouts, verify sidebar updates immediately
  • Verify breadcrumbs show correct trail on each page
  • Verify layout selection persists across app restart
  • Verify all nav items work in all 16 layouts

🤖 Generated with Claude Code

Add 16 selectable sidebar layout variants using shadcn composable
Sidebar components. Users can switch layouts from Settings > Display
with an SVG wireframe preview. Includes breadcrumb navigation via
TanStack Router staticData pattern.

- Add shadcn Sidebar + Breadcrumb UI primitives (adapted for Electron)
- Create 16 sidebar layout variants (grouped, collapsible, floating,
  icon-collapse, inset, nested, popover, file-tree, calendar, dialog,
  right-side, dual, sticky-header, etc.)
- Add LayoutWrapper with lazy-loaded layout switching
- Add ContentHeader (SidebarTrigger + Breadcrumbs) shared across layouts
- Add AppBreadcrumbs reading route staticData.breadcrumbLabel
- Add LayoutSection to Settings > Display with Select + SVG preview
- Refactor RootLayout to use SidebarProvider + LayoutWrapper
- Extract shared nav items to sidebar-layouts/shared-nav.ts
- Add sidebarLayout to AppSettings schema, layout store, and settings hydration
- Update all route files with staticData.breadcrumbLabel
- Update 8 agent definitions, FEATURES-INDEX, PATTERNS, DATA-FLOW, UI flow docs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@ParkerM2 ParkerM2 merged commit effaee5 into master Feb 22, 2026
8 checks passed
@ParkerM2 ParkerM2 deleted the feature/customizable-sidebar-layouts branch February 22, 2026 22:43
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.

2 participants