5b832934fa9c7925f90a1fe7bb5277627674d88b
Replaces the "Dashboard widgets coming soon." placeholder in the admin
landing page with a real at-a-glance overview.
Changes:
- artifacts/teaboy-os/src/pages/admin.tsx
- Added a new DashboardSection component rendered for section==="dashboard".
- Section shows four glass-panel stat cards: total apps, total services,
total users, and registration open/closed status (with green/rose tint).
- Added a recent-activity panel with the latest user (by createdAt) and
the latest app (by createdAt + localized name), each with a formatted
date.
- Wired in useGetAppSettings (already imported) to drive the registration
status card; reused existing useListApps / useListServices / useListUsers
queries — no new endpoints.
- Imported App, Service, UserProfile, AppSettings types from
@workspace/api-client-react to keep DashboardSection strictly typed.
- artifacts/teaboy-os/src/locales/{en,ar}.json
- Added admin.dashboard.* keys (totalApps, totalServices, totalUsers,
registration, open, closed, recentActivity, latestUser, latestApp,
none) in both English and Arabic. Old `admin.dashboardSoon` key was
kept to avoid breaking other potential consumers.
Styling uses existing `glass-panel`, lucide icons already in the file, and
logical CSS spacing (gap-3, me-1) so layout stays correct in both LTR and
RTL. Date formatting uses the active i18n language locale.
No backend or schema changes. tsc --noEmit passes for teaboy-os.
Replit-Task-Id: 01f9c3eb-0f31-4351-93cc-1f3ffc098761
Description
No description provided
Languages
TypeScript
69.4%
JavaScript
29%
CSS
0.6%
Shell
0.6%
Dockerfile
0.2%
Other
0.2%