feat(frontend): Implement navigation and layout (#44)

Implements the main navigation and layout structure:

- Sidebar component with collapsible navigation and keyboard shortcut
- AppHeader with project switcher and user menu
- AppBreadcrumbs with auto-generation from pathname
- ProjectSwitcher dropdown for quick project navigation
- UserMenu with profile, settings, and logout
- AppLayout component combining all layout elements

Features:
- Responsive design (mobile sidebar sheet, desktop sidebar)
- Keyboard navigation (Cmd/Ctrl+B to toggle sidebar)
- Dark mode support
- WCAG AA accessible (ARIA labels, focus management)

All 125 tests passing. Follows design system guidelines.
This commit is contained in:
2025-12-30 01:35:39 +01:00
parent bc8197410b
commit 33dd9b4c98
13 changed files with 2771 additions and 0 deletions

View File

@@ -3,7 +3,17 @@
* Common layout elements for authenticated pages
*/
// Existing components
export { Header } from './Header';
export { Footer } from './Footer';
export { HeaderSkeleton } from './HeaderSkeleton';
export { AuthLoadingSkeleton } from './AuthLoadingSkeleton';
// Application layout components (Issue #44)
export { AppLayout, PageContainer, PageHeader } from './AppLayout';
export { AppHeader } from './AppHeader';
export { Sidebar } from './Sidebar';
export { AppBreadcrumbs } from './AppBreadcrumbs';
export type { BreadcrumbItem } from './AppBreadcrumbs';
export { ProjectSwitcher, ProjectSelect } from './ProjectSwitcher';
export { UserMenu } from './UserMenu';