import Link from "next/link" import { redirect } from "next/navigation" import { auth, signOut } from "@/auth" import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar" import { Button } from "@/components/ui/button" import { Separator } from "@/components/ui/separator" import { isAdminEmail } from "@/lib/admin-auth" function getInitials(name: string | null | undefined, email: string | null | undefined) { const source = name || email || "Admin" return source .split(/[\s@.]+/) .filter(Boolean) .slice(0, 2) .map((part) => part[0]?.toUpperCase()) .join("") } async function signOutAction() { "use server" await signOut({ redirectTo: "/" }) } export default async function AdminLayout({ children, }: Readonly<{ children: React.ReactNode }>) { const session = await auth() if (!session?.user?.email) { redirect("/sign-in") } if (!isAdminEmail(session.user.email)) { redirect("/auth-error") } return (
Manage guest invitations, responses, and wedding details.
{session.user.name ?? "Admin"}
{session.user.email}