import { getAdminUser } from "@/lib/admin-permissions"; import { redirect } from "next/navigation"; import { getWaterAdminSession } from "@/actions/water-log/auth"; import { getWaterHeadgatesAdmin } from "@/actions/water-log/admin"; import HeadgateEditForm from "@/components/admin/HeadgateEditForm"; import Link from "next/link"; const TUXEDO_BRAND_ID = "64294306-5f42-463d-a5e8-2ad6c81a96de"; export const dynamic = "force-dynamic"; type HeadgatePageProps = { params: Promise<{ id: string }>; searchParams: Promise<{ from?: string }>; }; export default async function WaterLogHeadgatePage({ params, searchParams }: HeadgatePageProps) { const [{ id }, { from }, adminUser, waterSession] = await Promise.all([ params, searchParams, getAdminUser(), getWaterAdminSession(), ]); const isSiteAdmin = adminUser?.role === "platform_admin" || (adminUser?.role === "brand_admin" && adminUser?.brand_id === TUXEDO_BRAND_ID && adminUser?.can_manage_water_log); const isWaterAdmin = waterSession !== null && waterSession.role === "water_admin"; if (!isSiteAdmin && !isWaterAdmin) redirect("/admin/pickup"); const headgates = await getWaterHeadgatesAdmin(TUXEDO_BRAND_ID); const headgate = headgates.find((h) => h.id === id); if (!headgate) { return (

Headgate not found

This headgate may have been deleted.

← Back
); } const backHref = from ?? "/admin/water-log"; return (
← Back

Water Headgate

{headgate.name}

{headgate.active ? "Active" : "Inactive"}

Default Unit

{headgate.unit}

Created

{new Date(headgate.created_at).toLocaleDateString("en-US", { month: "long", day: "numeric", year: "numeric", })}

Edit Headgate

Update the headgate name, status, and default measurement unit.

); }