import { db } from "@/db"; import { forms } from "@/db/schema"; import Link from "next/link"; import { Button } from "@/components/ui/button"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/components/ui/table"; import { Badge } from "@/components/ui/badge"; import { Plus, Trash2 } from "lucide-react"; import { redirect } from "next/navigation"; import { deleteForm } from "@/app/actions/form"; import { getServerSession } from "next-auth"; import { authOptions } from "@/app/api/auth/[...nextauth]/route"; export const dynamic = "force-dynamic"; export default async function AdminFormsPage() { const session = await getServerSession(authOptions); const adminIds = (process.env.ADMIN_DISCORD_IDS ?? "") .split(",") .map((s) => s.trim()) .filter(Boolean); const discordId = (session?.user as any)?.discordId; if (!discordId || !adminIds.includes(discordId)) { redirect("/"); } const formsList = await db.query.forms.findMany({ orderBy: (f, { desc }) => [desc(f.createdAt)], }); return (
Manage your custom forms and view submissions.