feat: Redesign dashboard with vehicle-centric layout (#196) #202

Merged
egullickson merged 5 commits from issue-196-redesign-dashboard-vehicle-centric into main 2026-02-15 17:13:31 +00:00
Owner

Fixes #196
Fixes #197
Fixes #198
Fixes #199
Fixes #200
Fixes #201

Summary

Replaces the old dashboard (SummaryCards + QuickActions + RecentActivity + VehicleAttention) with a vehicle-centric roster layout that shows actionable health data per vehicle.

  • Vehicle roster grid: 2-column desktop, 1-column mobile, each card shows vehicle identity, health badge (green/yellow/red), up to 3 attention items, and odometer
  • Health computation: Aggregates maintenance schedule overdue status and document expiry (insurance/registration) into per-vehicle health color
  • Compact action bar: "Add Vehicle" and "Log Fuel" buttons replace the old QuickActions section
  • Graceful degradation: If document API fails, dashboard still works with maintenance-only health data
  • Old code removed: SummaryCards, QuickActions, RecentActivity, VehicleAttention components and all deprecated hooks/types deleted

Files Changed

New (7): VehicleRosterCard, ActionBar, computeVehicleHealth utility, 4 test files
Modified (8): types/index.ts, useDashboardData.ts, DashboardScreen.tsx, DashboardPage.tsx, index.ts, jest.config.ts, setupTests.ts, API client mock
Deleted (4): SummaryCards.tsx, QuickActions.tsx, RecentActivity.tsx, VehicleAttention.tsx

Test plan

  • npm run type-check -- 0 errors
  • npm run lint -- 0 warnings
  • npm test -- 29/29 dashboard tests passing
  • computeVehicleHealth: green/yellow/red thresholds, sorting, max 3 items, inactive schedules, missing dates
  • VehicleRosterCard: renders label, health badge, attention items, odometer, click handler
  • ActionBar: renders buttons, triggers callbacks
  • DashboardScreen: roster grid, empty state, loading skeletons, heading
  • Manual: Desktop viewport (1920px) -- 2-column grid
  • Manual: Mobile viewport (320px, 768px) -- single column
Fixes #196 Fixes #197 Fixes #198 Fixes #199 Fixes #200 Fixes #201 ## Summary Replaces the old dashboard (SummaryCards + QuickActions + RecentActivity + VehicleAttention) with a vehicle-centric roster layout that shows actionable health data per vehicle. - **Vehicle roster grid**: 2-column desktop, 1-column mobile, each card shows vehicle identity, health badge (green/yellow/red), up to 3 attention items, and odometer - **Health computation**: Aggregates maintenance schedule overdue status and document expiry (insurance/registration) into per-vehicle health color - **Compact action bar**: "Add Vehicle" and "Log Fuel" buttons replace the old QuickActions section - **Graceful degradation**: If document API fails, dashboard still works with maintenance-only health data - **Old code removed**: SummaryCards, QuickActions, RecentActivity, VehicleAttention components and all deprecated hooks/types deleted ## Files Changed **New (7):** VehicleRosterCard, ActionBar, computeVehicleHealth utility, 4 test files **Modified (8):** types/index.ts, useDashboardData.ts, DashboardScreen.tsx, DashboardPage.tsx, index.ts, jest.config.ts, setupTests.ts, API client mock **Deleted (4):** SummaryCards.tsx, QuickActions.tsx, RecentActivity.tsx, VehicleAttention.tsx ## Test plan - [x] `npm run type-check` -- 0 errors - [x] `npm run lint` -- 0 warnings - [x] `npm test` -- 29/29 dashboard tests passing - [x] computeVehicleHealth: green/yellow/red thresholds, sorting, max 3 items, inactive schedules, missing dates - [x] VehicleRosterCard: renders label, health badge, attention items, odometer, click handler - [x] ActionBar: renders buttons, triggers callbacks - [x] DashboardScreen: roster grid, empty state, loading skeletons, heading - [ ] Manual: Desktop viewport (1920px) -- 2-column grid - [ ] Manual: Mobile viewport (320px, 768px) -- single column
egullickson added 5 commits 2026-02-15 17:07:33 +00:00
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
test: add dashboard redesign tests (refs #201)
All checks were successful
Deploy to Staging / Build Images (pull_request) Successful in 3m22s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 51s
Deploy to Staging / Verify Staging (pull_request) Successful in 8s
Deploy to Staging / Notify Staging Ready (pull_request) Successful in 7s
Deploy to Staging / Notify Staging Failure (pull_request) Has been skipped
f6684e72c0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
egullickson merged commit 54de28e0e8 into main 2026-02-15 17:13:31 +00:00
egullickson deleted branch issue-196-redesign-dashboard-vehicle-centric 2026-02-15 17:13:32 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: egullickson/motovaultpro#202