import Link from "next/link" import { CopyInviteButton } from "@/components/admin/copy-invite-button" import { Badge } from "@/components/ui/badge" import { Button } from "@/components/ui/button" import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card" import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/components/ui/table" import { listInvitations } from "@/lib/db/queries/invitations" import { getLanguageLabel } from "@/lib/i18n/config" export const dynamic = "force-dynamic" function getInviteUrl(token: string) { return new URL(`/invite/${token}`, process.env.APP_URL ?? "http://localhost:3000").toString() } function getStatusVariant(status: string): "default" | "secondary" | "outline" { if (status === "Attending") return "default" if (status === "Pending") return "secondary" return "outline" } export default async function GuestsPage() { const invitations = await listInvitations() return (
Manage invitation groups and private invite links.
No invitations yet
Create the first invitation to generate a private guest link.