import { requireKitaSession } from "@/lib/auth-utils"; import { prisma } from "@/lib/prisma"; import { format } from "date-fns"; import { de } from "date-fns/locale"; import { UserCircle, Mail, Baby, Shield, CalendarHeart } from "lucide-react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { DeleteAccountDialog } from "./_components/delete-account-dialog"; export const metadata = { title: "Mein Profil · Kita-Planer" }; export default async function ProfilPage() { const session = await requireKitaSession(); const user = await prisma.user.findUniqueOrThrow({ where: { id: session.user.id }, include: { childLinks: { include: { child: true }, }, dutyAssignments: { include: { duty: true }, }, }, }); return (

Mein Profil

Deine persönlichen Daten, verknüpfte Kinder und DSGVO-Einstellungen.

{/* Persönliche Daten */} Persönliche Daten
Name
{user.firstName} {user.lastName}
E-Mail
{user.email}
Rolle im Verein
{user.role}
Mitglied seit
{format(user.createdAt, "PPP", { locale: de })}
{/* Kinder */} Meine Kinder {user.childLinks.length === 0 ? (

Keine Kinder verknüpft.

) : (
{user.childLinks.map((link) => (
{link.child.firstName} {link.child.lastName}
))}
)}
{/* Ämter */} Meine Ämter & Dienste {user.dutyAssignments.length === 0 ? (

Du hast aktuell keine festen Ämter übernommen.

) : (
{user.dutyAssignments.map((assignment) => ( {assignment.duty.name} ))}
)}
{/* Danger Zone */} Danger Zone Hier kannst du dein Profil und alle zugehörigen Daten DSGVO-konform löschen.
); }