Desktop side-rail variant of the unified app shell #47

Open
opened 2026-05-07 09:52:36 +00:00 by padreug · 0 comments
Owner

The unified app shell built in the bottom-nav refactor is mobile-first (fixed bottom nav, no breakpoint variants). On desktop / tablet landscape, a side-rail navigation (mirroring src/components/layout/AppLayout.vue + AppSidebar.vue patterns already in the project) is more ergonomic.

Scope

  • Add a desktop="rail" (or similar) variant to <AppShell> that renders a left-edge rail at lg: and up while keeping the bottom nav at <lg.
  • Profile entry, Hub pill, app-specific tabs all keep their semantics, just relocate.
  • Reuse existing AppLayout.vue patterns rather than reinventing.

Why now

Surfaced while planning the unified bottom-nav refactor. Today every standalone uses the mobile bottom-nav pattern at every breakpoint, which wastes vertical space on desktop and looks out of place.

Depends on

  • The unified app shell (Phase A of bottom-nav refactor) being merged — that's where <AppShell> lives.

Acceptance

  • At lg and up, navigation moves to a left rail; at <lg, bottom nav stays.
  • No layout shift / hydration mismatch on resize.
  • Hub pill, profile sheet trigger, app tabs all reachable from both layouts.
The unified app shell built in the bottom-nav refactor is mobile-first (fixed bottom nav, no breakpoint variants). On desktop / tablet landscape, a side-rail navigation (mirroring `src/components/layout/AppLayout.vue` + `AppSidebar.vue` patterns already in the project) is more ergonomic. ## Scope - Add a `desktop="rail"` (or similar) variant to `<AppShell>` that renders a left-edge rail at `lg:` and up while keeping the bottom nav at `<lg`. - Profile entry, Hub pill, app-specific tabs all keep their semantics, just relocate. - Reuse existing `AppLayout.vue` patterns rather than reinventing. ## Why now Surfaced while planning the unified bottom-nav refactor. Today every standalone uses the mobile bottom-nav pattern at every breakpoint, which wastes vertical space on desktop and looks out of place. ## Depends on - The unified app shell (Phase A of bottom-nav refactor) being merged — that's where `<AppShell>` lives. ## Acceptance - [ ] At `lg` and up, navigation moves to a left rail; at `<lg`, bottom nav stays. - [ ] No layout shift / hydration mismatch on resize. - [ ] Hub pill, profile sheet trigger, app tabs all reachable from both layouts.
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.

Dependencies

No dependencies set.

Reference
aiolabs/webapp#47
No description provided.