import { getServerSession } from "next-auth/next"; import { authOptions } from "@/app/api/auth/[...nextauth]/route"; import { redirect } from "next/navigation"; import { prisma } from "@/lib/prisma"; import { CalendarClient } from "@/components/calendar/calendar-client"; export const metadata = { title: "Enkun - Calendrier", description: "Gérez vos rendez-vous et événements", }; export default async function CalendarPage() { const session = await getServerSession(authOptions); if (!session?.user) { redirect("/api/auth/signin"); } // Récupérer tous les calendriers de l'utilisateur const userCalendars = await prisma.calendar.findMany({ where: { userId: session.user.username || session.user.email, }, orderBy: { createdAt: "desc", }, }); // Si aucun calendrier n'existe, en créer un par défaut let calendars = userCalendars; if (calendars.length === 0) { const defaultCalendar = await prisma.calendar.create({ data: { name: "Calendrier principal", color: "#0082c9", description: "Calendrier par défaut", userId: session.user.username || session.user.email, }, }); calendars = [defaultCalendar]; } return (
Gérez vos rendez-vous et événements