feat: platform admin frontend — pages, composables, navigation, impersonation
Build the frontend for platform admin in apps/app/: - TypeScript types (admin.ts) and API composable (useAdmin.ts) with TanStack Query for all admin endpoints - ImpersonationStore (Pinia) + ImpersonationBanner component integrated in the main layout, with token-based session management - Platform navigation section (conditionally shown for super_admin users) - Route guard blocking /platform/* for non-super_admin users - 6 pages: dashboard with stats cards, organisations list/detail, users list/detail with impersonation, activity log with expandable rows - All pages implement loading/error/empty states per conventions - Vite build passes cleanly Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
export default [
|
||||
export const orgNavItems = [
|
||||
{
|
||||
title: 'Dashboard',
|
||||
to: { name: 'dashboard' },
|
||||
@@ -35,3 +35,31 @@ export default [
|
||||
icon: { icon: 'tabler-settings' },
|
||||
},
|
||||
]
|
||||
|
||||
export const platformNavItems = [
|
||||
{
|
||||
heading: 'Platform',
|
||||
},
|
||||
{
|
||||
title: 'Platform Dashboard',
|
||||
to: { name: 'platform' },
|
||||
icon: { icon: 'tabler-chart-dots-3' },
|
||||
},
|
||||
{
|
||||
title: 'Organisaties',
|
||||
to: { name: 'platform-organisations' },
|
||||
icon: { icon: 'tabler-buildings' },
|
||||
},
|
||||
{
|
||||
title: 'Gebruikers',
|
||||
to: { name: 'platform-users' },
|
||||
icon: { icon: 'tabler-users-group' },
|
||||
},
|
||||
{
|
||||
title: 'Activity Log',
|
||||
to: { name: 'platform-activity-log' },
|
||||
icon: { icon: 'tabler-list-details' },
|
||||
},
|
||||
]
|
||||
|
||||
export default orgNavItems
|
||||
|
||||
Reference in New Issue
Block a user