import { supabase } from "@/lib/supabase";
import { getAdminUser } from "@/lib/admin-permissions";
import { getActiveBrandId } from "@/lib/brand-scope";
import AdminAccessDenied from "@/components/admin/AdminAccessDenied";
import ReportsDashboard from "@/components/admin/ReportsDashboard";
import { PageHeader } from "@/components/admin/design-system";
import { redirect } from "next/navigation";

export default async function ReportsPage() {
  const adminUser = await getAdminUser();
  if (!adminUser) return <AdminAccessDenied />;
  if (!adminUser.can_manage_reports) redirect("/admin/pickup");

  const isPlatformAdmin = adminUser.role === "platform_admin";

  const { data: brands } = await supabase
    .from("brands")
    .select("id, name")
    .order("name") as unknown as { data: { id: string; name: string }[] | null };

  const initialBrandId = isPlatformAdmin
    ? null
    : await getActiveBrandId(adminUser);

  return (
    <main className="min-h-screen px-6 py-10" style={{ backgroundColor: "var(--admin-bg)" }}>
      <div className="mx-auto max-w-7xl">
        <PageHeader
          title="Reports"
          subtitle="Operational visibility across orders, fulfillment, contacts, and campaigns."
        />

        <ReportsDashboard
          brands={brands ?? []}
          initialBrandId={initialBrandId}
          isPlatformAdmin={isPlatformAdmin}
          brandId={adminUser.brand_id}
        />
      </div>
    </main>
  );
}