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) { redirect("/signin"); } try { // Récupérer tous les calendriers de l'utilisateur const userCalendars = await prisma.calendar.findMany({ where: { userId: session.user.username || session.user.email, }, include: { events: true, }, }); // 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 (

Calendrier

Gérez vos rendez-vous et événements

); } catch (error) { console.error("Database Error:", error); return (

Unable to load calendar data. Please try again later.

); } }