Dashboard Shell
What it is
Section titled “What it is”The Dashboard Shell is the application layout that wraps every authenticated page. It provides the sidebar navigation, top header bar, breadcrumbs, command palette, notification bell, search, user menu, and theme toggle. The shell also hosts the Sandbox HUD at the bottom of the viewport.
Why it matters
Section titled “Why it matters”A consistent navigation shell ensures users can move between features without losing context. The command palette enables keyboard-driven navigation for power users, and the notification bell surfaces real-time events without requiring page refreshes.
Key concepts
Section titled “Key concepts”- Layout:
DashboardShellLayoutcomposes Sidebar + Header + content area + SandboxHUD - Sidebar:
Sidebarrenders program-scoped navigation links (Overview, Discovery, Tasks, Sprints, etc.) - Header:
Headerdisplays breadcrumbs, search trigger, notification bell, user menu, and theme toggle - Breadcrumbs:
Breadcrumbsshows the navigation path (Program > Feature > Detail) - Command palette:
CommandPaletteprovides a keyboard-triggered (Cmd+K / Ctrl+K) global search and navigation - Search provider:
SearchProvidermanages command palette state and search results - Notification bell:
NotificationBellshows unread notification count with a dropdown - Confirm dialog:
ConfirmDialogreusable confirmation modal used across the platform - Theme toggle: Switch between light and dark themes (stored in preference,
.darkclass on<html>) - User menu: Profile, organization switcher, and sign-out
How to use it
Section titled “How to use it”- The dashboard shell loads automatically for all authenticated routes.
- Use the Sidebar to navigate between program features.
- Click the breadcrumbs to jump up the navigation hierarchy.
- Press
Cmd+K(Mac) /Ctrl+K(Windows) to open the Command Palette for fast navigation. - Check the Notification Bell for recent events and alerts.
- Toggle the theme via the Theme Toggle in the header.
Data model
Section titled “Data model”This feature uses the following tables:
notifications— User-scoped notification recordsusers— User profile for the user menu