import { requireKitaSession } from "@/lib/auth-utils"; import { prisma } from "@/lib/prisma"; import { Contact, Mail, Phone, Baby } from "lucide-react"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; export default async function AdressbuchPage() { const session = await requireKitaSession(); // Fetch only users who opted in to the directory const users = await prisma.user.findMany({ where: { kitaId: session.user.kitaId, directoryOptInAt: { not: null }, }, include: { childLinks: { include: { child: true }, }, dutyAssignments: { include: { duty: true }, }, }, orderBy: { lastName: "asc" }, }); return (

Adressbuch

Kontaktinformationen aller Eltern, die der Freigabe zugestimmt haben.

{users.length === 0 ? (

Keine Kontakte

Bisher hat niemand der Veröffentlichung im Adressbuch zugestimmt.

) : (
{users.map((u) => ( {u.firstName} {u.lastName} {u.role === "ADMIN" || u.role === "KOORDINATOR" ? ( Vorstand ) : null}
{u.email}
{u.phone && (
{u.phone}
)} {u.childLinks.length > 0 && (
{u.childLinks.map(link => ( {link.child.firstName} ))}
)} {u.dutyAssignments.length > 0 && (
Ämter / Dienste:
{u.dutyAssignments.map((assignment) => ( {assignment.duty.name} ))}
)}
))}
)}
); }