Admin Dashboard Frontend (Phases 1-4) #3

Merged
stephen merged 7 commits from admin into main 2026-01-22 14:12:59 -07:00

7 Commits

Author SHA1 Message Date
338e9e3a76 Implement Phase 4 settings and polish frontend
- Add AdminSettings page with retention period configuration
- Add warning dialog when reducing retention period
- Add skeleton loaders to all admin pages (tables, charts, activities)
- Add empty states with helpful messages and clear filter buttons
- Improve mobile responsiveness across all admin views
- Update admin navigation with Settings link
2026-01-22 13:25:51 -07:00
40727c53e1 Implement Phase 3 usage statistics frontend
- Add AdminOverview page with stats cards and recent activity
- Add UsageStats page with charts and heatmap
- Active users chart with daily/weekly/monthly toggle
- Action breakdown with pie and bar charts
- Peak times heatmap (24h x 7d)
- Update admin navigation with Overview and Statistics links
2026-01-22 13:11:04 -07:00
9ed775e04a Implement Phase 2 activity monitoring frontend
- Add ActivityStream page with paginated activity list
- Add user, action type, and date range filters
- Implement auto-refresh every 30 seconds (pauses with filters)
- Add "New activity" indicator for real-time updates
- Add export modal with date range picker for CSV download
- Update admin navigation to dropdown with Users and Activity links
2026-01-22 13:01:49 -07:00
a05f99080c Implement Phase 1 admin dashboard frontend
- Add AdminRoute component for admin-only route protection
- Add admin navigation link (visible only to admins)
- Create UserList page with pagination, search, and filters
- Create UserDetail page with enable/disable and promote/demote
- Add confirmation dialogs for destructive actions
- Prevent self-modification (cannot disable/demote yourself)
- All admin routes protected with AdminRoute wrapper
2026-01-22 12:06:33 -07:00
d285429e25 Updates to units page 2026-01-22 11:59:17 -07:00
7b596a9d73 Add frontend authentication with Google OAuth
- Create AuthContext and AuthProvider for auth state management
- Create useAuth hook for easy access to auth state
- Create ProtectedRoute component to guard authenticated routes
- Create Login page with Google sign-in button and error handling
- Create useActivityTracker hook for frontend activity logging
- Update App.jsx to protect all routes and add user display/logout
- Update main.jsx to wrap app with AuthProvider
- Add credentials: 'include' to all API fetch calls
2026-01-21 18:00:22 -07:00
f33ef01a6d Add mobile-friendly sticky column to units list table 2026-01-21 15:08:55 -07:00