## Summary
- Adds responsive dashboard with vehicle fleet overview
- Displays summary cards: vehicle count, upcoming maintenance (30 days), recent fuel logs (7 days)
- Shows vehicles needing attention with priority-based highlighting (overdue maintenance)
- Quick action buttons for navigation (Add Vehicle, Log Fuel, Maintenance, My Vehicles)
- Loading skeletons and empty states for all components
- Mobile-first design: single column on mobile, multi-column grid on desktop
Fixes #2
## Test plan
- [x] Verify dashboard loads with summary cards on login
- [x] Test mobile layout at 320px viewport
- [x] Test desktop layout at 1920px viewport
- [x] Verify touch targets on mobile (44px minimum)
- [x] Test keyboard navigation on desktop
- [x] Test empty state with new user (no vehicles)
- [x] Test loading states (skeleton placeholders)
- [x] Verify quick actions navigate to correct screens
- [x] Test with vehicles having overdue maintenance
- [x] Verify data refreshes correctly
## Quality Validation
- TypeScript: PASS (zero errors)
- ESLint: PASS (zero errors, 3 acceptable warnings)
- Build: PASS (container healthy)
- Acceptance Criteria: 8/8 complete
🤖 Generated with [Claude Code](https://claude.com/claude-code)
- Add Dashboard to desktop sidebar navigation (first item)
- Add /garage/dashboard route for desktop
- Change default redirect from /garage/vehicles to /garage/dashboard
- Change mobile default screen from Vehicles to Dashboard
- Create DashboardPage wrapper for desktop route
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <[email protected]>
Adds Gitea issue templates to prevent missed integration points:
- feature.yaml: Includes Integration Criteria section for navigation,
routing, and state management requirements
- bug.yaml: Structured bug reporting with platform selection
- chore.yaml: Technical debt and maintenance tasks
The Integration Criteria section ensures features specify:
- Desktop sidebar / mobile nav placement
- Route paths and default landing page
- Mobile screen type in navigation store
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <[email protected]>
Adds Visual Integration section to prevent design inconsistencies:
- Icons: Must use MUI Rounded icons only, no emoji in UI
- Colors: Theme colors only, no hardcoded hex, dark mode support
- Components: Use existing shared components (GlassCard, Button, etc.)
- Typography & Spacing: MUI variants, consistent spacing multiples
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <[email protected]>
Visual consistency fixes:
- Replace all emojis with MUI Rounded icons
- Use theme colors (primary.main, warning.main, success.main, error.main)
- Use MUI Box with sx prop for consistent styling
- Use shared Button component instead of custom styled buttons
- Use theme tokens for dark mode (avus, titanio, canna)
Components updated:
- SummaryCards: DirectionsCarRoundedIcon, BuildRoundedIcon, LocalGasStationRoundedIcon
- QuickActions: MUI icons with primary.main color
- VehicleAttention: ErrorRoundedIcon, WarningAmberRoundedIcon, ScheduleRoundedIcon
- DashboardScreen: Proper icons for error/empty states, shared Button component
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <[email protected]>
Changed from borderRadius 3 (24px) to 1.5 (12px) for more rectangular look
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add onViewMaintenance prop to DashboardScreen
- Desktop: navigates to /garage/maintenance
- Mobile: falls back to Vehicles (no dedicated mobile maintenance screen)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add onAddVehicle prop to DashboardScreen
- Mobile: triggers setShowAddVehicle(true) in App.tsx
- Desktop: navigates to /garage/vehicles with showAddForm state
- VehiclesPage auto-opens form when receiving showAddForm state
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add Vehicle now navigates to Vehicles screen and opens add form
- Add Maintenance mobile screen with records/schedules tabs
- Add 'Maintenance' to MobileScreen type
- Wire up onViewMaintenance callback to navigate to Maintenance screen
refs #2🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <[email protected]>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Fixes #2
Test plan
Quality Validation
🤖 Generated with Claude Code