import StopTableClient from "@/components/admin/StopTableClient"; import StopsHeaderActions from "@/components/admin/StopsHeaderActions"; import { api } from "@/lib/api"; import { getAdminUser } from "@/lib/admin-permissions"; import AdminAccessDenied from "@/components/admin/AdminAccessDenied"; import { PageHeader } from "@/components/admin/design-system"; import { redirect } from "next/navigation"; const StopIcon = () => ( ); export default async function AdminStopsPage() { const adminUser = await getAdminUser(); if (!adminUser) return ; if (!adminUser.can_manage_stops) { redirect("/admin/pickup"); } let query = api .from("stops") .select(` id, city, state, date, time, location, active, deleted_at, brand_id, address, zip, cutoff_time, status, brands ( name ) `) .is("deleted_at", null) .order("date", { ascending: true }); if (adminUser?.brand_id) { query = query.eq("brand_id", adminUser.brand_id); } const { data: stops, error } = (await query) as any; if (error) { return (

Error loading stops

              {error.message}
            
); } return (
} title="Stops & Routes" subtitle={adminUser?.brand_id ? "Managing stops for your brand." : "Manage routes, pickup locations, dates, and cutoff times."} actions={} />
{/* Content */}
); }