import NavigationWrapper from "@/components/NavigationWrapper"; import EventsPageSection from "@/components/EventsPageSection"; import { eventService } from "@/services/events/event.service"; import { eventRegistrationService } from "@/services/events/event-registration.service"; import { getBackgroundImage } from "@/lib/preferences"; import { auth } from "@/lib/auth"; export const dynamic = "force-dynamic"; export default async function EventsPage() { const events = await eventService.getAllEvents({ orderBy: { date: "desc" }, }); // Sérialiser les dates pour le client const serializedEvents = events.map((event) => ({ ...event, date: event.date.toISOString(), createdAt: event.createdAt.toISOString(), updatedAt: event.updatedAt.toISOString(), })); const backgroundImage = await getBackgroundImage("events", "/got-2.jpg"); // Récupérer les inscriptions côté serveur pour éviter le clignotement const session = await auth(); const initialRegistrations: Record = {}; if (session?.user?.id) { // Récupérer toutes les inscriptions (passées et à venir) pour permettre le feedback const allRegistrations = await eventRegistrationService.getUserRegistrations(session.user.id); allRegistrations.forEach((reg) => { initialRegistrations[reg.eventId] = true; }); } return (
); }