import { getServerSession } from "../../api/auth/[...nextauth]/auth"; import { PrismaClient } from "@repo/db"; import { KursItem } from "../events/_components/item"; import { RocketIcon } from "lucide-react"; import { eventCompleted } from "@repo/ui"; export default async () => { const prisma = new PrismaClient(); const session = await getServerSession(); if (!session) return null; const user = await prisma.user.findUnique({ where: { id: session.user.id, }, }); if (!user) return null; const events = await prisma.event.findMany({ include: { appointments: { where: { appointmentDate: { gte: new Date(), }, }, }, participants: { where: { userId: user.id, }, }, }, }); const userAppointments = await prisma.eventAppointment.findMany({ where: { Participants: { some: { userId: user.id, }, }, }, }); const filteredEvents = events.filter((event) => { console.log; if (eventCompleted(event, event.participants[0])) return false; if ( event.type === "OBLIGATED_COURSE" && !eventCompleted(event, event.participants[0]) ) return true; return false; }); if (!filteredEvents.length) return null; return (