## Summary
- Add Total Vehicles widget to admin dashboard (next to Total Users)
- Add expandable vehicle rows in admin user management (Year/Make/Model only for privacy)
- Add My Vehicles section to user profile page (desktop and mobile)
- Full mobile + desktop responsive implementation
## Changes
### Backend
- `GET /api/admin/stats` - Returns totalUsers and totalVehicles for dashboard widgets
- `GET /api/admin/users/:auth0Sub/vehicles` - Returns user's vehicles for admin view (Year/Make/Model only)
- Defense-in-depth admin checks in both endpoints
### Frontend Desktop
- AdminUsersPage: Total Vehicles stat widget + expandable vehicle rows with MUI Collapse
- SettingsPage: My Vehicles Card section showing user's own vehicles
### Frontend Mobile
- AdminUsersMobileScreen: Stats header with user/vehicle counts + expandable vehicle list per user
- MobileSettingsScreen: My Vehicles section with vehicle list
### Documentation
- Updated admin/README.md with new endpoints documentation
## Test plan
- [ ] Verify Total Vehicles widget displays correct count on admin dashboard
- [ ] Verify clicking user row with vehicles expands to show vehicle list
- [ ] Verify vehicle list shows only Year/Make/Model (privacy)
- [ ] Verify My Vehicles section appears on profile page (desktop + mobile)
- [ ] Verify non-admin users cannot access admin endpoints
- [ ] Verify mobile touch targets are at least 44x44px
- [ ] Test on mobile viewport (320px), tablet (768px), desktop (1920px)
Fixes #11
🤖 Generated with [Claude Code](https://claude.com/claude-code)
- Add GET /api/admin/stats endpoint for Total Vehicles widget
- Add GET /api/admin/users/:auth0Sub/vehicles endpoint for user vehicle list
- Update AdminUsersPage with Total Vehicles stat and expandable vehicle rows
- Add My Vehicles section to SettingsPage (desktop) and MobileSettingsScreen
- Update AdminUsersMobileScreen with stats header and vehicle expansion
- Add defense-in-depth admin checks and error handling
- Update admin README documentation
🤖 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
Changes
Backend
GET /api/admin/stats- Returns totalUsers and totalVehicles for dashboard widgetsGET /api/admin/users/:auth0Sub/vehicles- Returns user's vehicles for admin view (Year/Make/Model only)Frontend Desktop
Frontend Mobile
Documentation
Test plan
Fixes #11
🤖 Generated with Claude Code