import { format } from "date-fns"; import { de } from "date-fns/locale"; import Link from "next/link"; import { UserRole } from "@prisma/client"; import { AtSign, Baby, CalendarHeart, Home, Mail, Phone, Shield, Trash2, UserCircle, } from "lucide-react"; import { requireKitaSession } from "@/lib/auth-utils"; import { prisma } from "@/lib/prisma"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { DefItem, DefList, EmptyDefValue } from "@/components/ui/def-list"; import { RoleBadge } from "@/components/ui/role-badge"; import { DeleteAccountDialog } from "./_components/delete-account-dialog"; import { MyChildrenManager } from "./_components/my-children-manager"; import { CreateFamilyDialog } from "./_components/create-family-dialog"; import { ContactForm } from "./_components/contact-form"; import { StaffEmailSettings } from "../personal/forms"; export const metadata = { title: "Mein Profil · Kita-Planer" }; export default async function ProfilPage() { const session = await requireKitaSession(); const [kita, user] = await Promise.all([ prisma.kita.findUniqueOrThrow({ where: { id: session.user.kitaId }, select: { name: true }, }), prisma.user.findUniqueOrThrow({ where: { id: session.user.id }, select: { id: true, email: true, firstName: true, lastName: true, role: true, familyId: true, phone: true, street: true, postalCode: true, city: true, directoryOptInAt: true, staffDecisionEmails: true, createdAt: true, family: { select: { name: true, children: { select: { id: true, firstName: true, lastName: true, dateOfBirth: true, }, orderBy: [{ lastName: "asc" }, { firstName: "asc" }], }, }, }, dutyAssignments: { select: { id: true, duty: { select: { name: true, }, }, }, }, }, }), ]); const fullName = `${user.firstName} ${user.lastName}`.trim(); return (
PROFIL · {kita.name}
{user.role === UserRole.ERZIEHER ? "Deine persönlichen Daten, dein Arbeitsbereich und Datenschutzeinstellungen." : "Deine persönlichen Daten, verknüpfte Kinder und DSGVO-Einstellungen."}
Dein Account ist noch keinem Haushalt zugeordnet.
Keine festen Ämter übernommen
Dienste und Rollen erscheinen hier, sobald sie zugewiesen sind.
{assignment.duty.name}
laufender Dienst
Hier kannst du dein Profil und je nach Haushaltssituation auch die zugehörigen Familiendaten DSGVO-konform löschen. Aktive Notdienst-Verpflichtungen blockieren die Löschung.