import type { Metadata } from "next"; import { CatalogStatus, membership } from "@/components/catalogs"; import { ActionForm, SubmitButton } from "@/components/forms"; import { PageHeader } from "@/components/status"; import { DateTime } from "@/components/time"; import { Card, CardContent } from "@/components/ui/card"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"; import { api, unwrap } from "@/lib/api"; import { decideCatalog } from "../actions"; import { ConsoleNav, requireModerator } from "../console-nav"; export const metadata: Metadata = { title: "Catalogs" }; export default async function ConsoleCatalogs() { await requireModerator("/console/catalogs"); const { catalogs } = unwrap(await api.console.catalogs.get()); return ( <> {catalogs.length === 0 ? (

None registered.

) : ( Name Address Takedown contact Access Registered Status {catalogs.map((c) => ( {c.name} {c.url} {c.contact} {c.visibility}, {membership[c.membership]?.toLowerCase() ?? c.membership}
{c.status !== "approved" && ( Approve )} {c.status !== "rejected" && ( Reject )}
))}
)}
); }