import { Flag } from "lucide-react"; import { requireAdmin } from "@/lib/session"; import { getFeatureFlags } from "@/lib/queries/admin"; import { PageHeader } from "@/components/ui/page-header"; import { Badge } from "@/components/ui/badge"; import { EmptyState } from "@/components/ui/empty-state"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"; import { DateCell, Mono, Panel } from "@/components/admin/primitives"; import { DeleteFlagButton, FlagSwitch, NewFlagDialog } from "@/components/admin/flag-controls"; export const dynamic = "force-dynamic"; export default async function AdminFlagsPage() { await requireAdmin(); const flags = await getFeatureFlags(); return ( <> } /> {flags.length === 0 ? (
} compact />
) : ( Key Description Plans Organizations Updated Enabled {flags.map((f) => ( {f.key} {f.description ?? "—"} {f.plans?.length ? (
{f.plans.map((p) => ( {p} ))}
) : ( all )}
{f.organizationIds?.length ? `${f.organizationIds.length} org(s)` : all}
))}
)}
); }