Branch: feature/frontend-vertical-sidebar
Transform the Pierre Admin Frontend with a vertical sidebar navigation and full alignment with BRAND.md design system.
- Fix
check_setup_status()insrc/auth.rs- was checking hardcodedadmin@pierre.mcpinstead of any user withis_admin=true
Goal: Establish reusable UI components following BRAND.md
- Tailwind config with Pierre colors (
pierre-violet,pierre-cyan,pierre-activity,pierre-nutrition,pierre-recovery) - Reusable UI components in
frontend/src/components/ui/:- Button.tsx
- Card.tsx
- Badge.tsx
- StatusIndicator.tsx
- Input.tsx, Select.tsx, Slider.tsx
- Modal.tsx
- Tabs.tsx
- Toast.tsx
- Skeleton.tsx (loading states)
- Visual testing of all Phase 1 components
- Verified Pierre violet (#7C3AED) and cyan (#06B6D4) usage
- Verified three-pillar colors (Activity/Emerald, Nutrition/Amber, Recovery/Indigo)
- Fixed test regressions (API endpoint path, Dashboard tests)
Goal: Replace horizontal navigation with collapsible vertical sidebar
- Vertical sidebar in
Dashboard.tsxwith:- Pierre logo at top
- Collapsible navigation with toggle button
- Active state with violet highlight
- Hover states with subtle background
- Navigation structure: Overview, Connections, Analytics, Monitor, Tools, Users
- Admin-only Users tab with pending badge
- Responsive behavior (collapsible sidebar)
Goal: Modern dashboard with Pierre branding
- Stats cards with pillar colors for metrics
- Connection status cards with provider icons
- Real-time activity feed
- Usage charts with Pierre color scheme
- Quick action buttons
Goal: Consistent data display across all management pages
- Refactor UserManagement.tsx with new design system
- Refactor AdminTokenList.tsx
- Refactor A2AClientList.tsx
- Refactor ApiKeyList.tsx
- Refactor UnifiedConnections.tsx
- Consistent empty states
- Loading skeletons
Goal: Consistent form experience with proper validation
- Refactor Login.tsx with Pierre design
- Refactor registration forms
- Refactor admin token creation
- Refactor API key creation
- Form validation with error states
- Success/error toast notifications
```bash DATABASE_URL="sqlite:./data/users.db" HTTP_PORT=8082 RUST_LOG=info cargo run --bin pierre-mcp-server ```
```bash cd frontend && VITE_BACKEND_URL=http://localhost:8082 npm run dev ```
```bash cargo run --bin admin-setup -- create-admin-user --email admin@pierre.mcp --password adminpass123 ```
frontend/BRAND.md- Design system referencefrontend/src/components/ui/- UI componentsfrontend/src/App.tsx- Main app layoutfrontend/src/components/Dashboard.tsx- Dashboard with vertical sidebar