export const dynamic = 'force-dynamic' import Link from 'next/link' import { redirect } from 'next/navigation' import { createClient } from '@/lib/supabase/server' import { getSession } from '@/lib/auth/get-session' import { UserManager, type AdminUser, type SiteOption } from '@/components/admin/user-manager' import { SiteZoneManager, type SiteWithZones } from '@/components/admin/site-zone-manager' import { TruckManager, type Truck } from '@/components/admin/truck-manager' export default async function AdminHome() { const session = await getSession() if (!session) redirect('/login') if (session.role !== 'admin') redirect('/login') const supabase = await createClient() const [{ data: users }, { data: sites }, { data: trucks }] = await Promise.all([ supabase .from('users') .select('id, name, email, role, department, site_id, active') .order('created_at', { ascending: false }), supabase .from('sites') .select('id, name, address, active, zones (id, name, qr_code_token, active)') .order('name'), supabase .from('trucks') .select('id, truck_no, carrier, active') .order('truck_no'), ]) const siteOptions: SiteOption[] = (sites ?? []).map(s => ({ id: s.id, name: s.name })) return (

Admin

) }