import { Bug, LayoutDashboard, LogOut, ShieldCheck, TicketCheck, TicketPercent, } from 'lucide-react'; import type {ReactNode} from 'react'; import type {AdminSessionPayload} from '../api/adminApiTypes'; import type {AdminRouteId} from './adminRoutes'; import {adminRoutes} from './adminRoutes'; interface AdminShellProps { admin: AdminSessionPayload; routeId: AdminRouteId; children: ReactNode; onRouteChange: (routeId: AdminRouteId) => void; onLogout: () => void; } const routeIcons = { overview: LayoutDashboard, debug: Bug, redeem: TicketPercent, invite: TicketCheck, } satisfies Record; export function AdminShell({ admin, routeId, children, onRouteChange, onLogout, }: AdminShellProps) { return (
{admin.displayName || admin.username} {admin.roles.join(' / ')}
{children}
); }