diff --git a/app/api/admin/events/route.ts b/app/api/admin/events/route.ts index cab1a90..d75ae4d 100644 --- a/app/api/admin/events/route.ts +++ b/app/api/admin/events/route.ts @@ -13,11 +13,39 @@ export async function GET() { const events = await prisma.event.findMany({ orderBy: { - date: "asc", + date: "desc", + }, + select: { + id: true, + date: true, + name: true, + description: true, + type: true, + status: true, + createdAt: true, + updatedAt: true, + _count: { + select: { + registrations: true, + }, + }, }, }); - return NextResponse.json(events); + // Transformer les données pour inclure le nombre d'inscriptions + const eventsWithCount = events.map((event) => ({ + id: event.id, + date: event.date, + name: event.name, + description: event.description, + type: event.type, + status: event.status, + createdAt: event.createdAt.toISOString(), + updatedAt: event.updatedAt.toISOString(), + registrationsCount: event._count.registrations, + })); + + return NextResponse.json(eventsWithCount); } catch (error) { console.error("Error fetching events:", error); return NextResponse.json( diff --git a/app/events/page.tsx b/app/events/page.tsx index 8960bdd..8fd0d85 100644 --- a/app/events/page.tsx +++ b/app/events/page.tsx @@ -6,7 +6,7 @@ import { getBackgroundImage } from "@/lib/preferences"; export default async function EventsPage() { const events = await prisma.event.findMany({ orderBy: { - date: "asc", + date: "desc", }, }); diff --git a/components/EventManagement.tsx b/components/EventManagement.tsx index 80265a7..8e34b3d 100644 --- a/components/EventManagement.tsx +++ b/components/EventManagement.tsx @@ -11,6 +11,7 @@ interface Event { status: "UPCOMING" | "LIVE" | "PAST"; createdAt: string; updatedAt: string; + registrationsCount?: number; } interface EventFormData { @@ -351,9 +352,15 @@ export default function EventManagement() {
{event.description}
-- Date: {new Date(event.date).toLocaleDateString("fr-FR")} -
++ Date: {new Date(event.date).toLocaleDateString("fr-FR")} +
+ + {event.registrationsCount || 0} inscrit + {event.registrationsCount !== 1 ? "s" : ""} + +