import { prisma } from "@repo/db"; import { getServerSession } from "../../api/auth/[...nextauth]/auth"; import { EventCard } from "./_components/EventCard"; import { RocketIcon } from "@radix-ui/react-icons"; const page = async () => { const session = await getServerSession(); if (!session) return null; const user = session.user; if (!user) return null; const events = await prisma.event.findMany({ where: { hidden: false, }, include: { Appointments: { where: { appointmentDate: { gte: new Date(), }, }, }, Participants: { where: { userId: user.id, }, }, }, orderBy: { id: "desc", }, }); const appointments = await prisma.eventAppointment.findMany({ where: { appointmentDate: { gte: new Date(), }, }, include: { Participants: { select: { enscriptionDate: true, id: true, userId: true, }, where: { appointmentCancelled: false, }, orderBy: { enscriptionDate: "asc", }, }, _count: { select: { Participants: true, }, }, }, }); const userAppointments = await prisma.eventAppointment.findMany({ where: { Participants: { some: { userId: user.id, }, }, }, }); return (

Events & Kurse

{events.map((event) => { return ( ); })}
); }; export default page;