Refactor event fetching and display: Change event retrieval order to descending by date, enhance event data structure to include registration counts, and update UI components to reflect these changes for better user experience.

This commit is contained in:
Julien Froidefond
2025-12-09 21:55:42 +01:00
parent 50a2eaf109
commit 16b0437ecb
4 changed files with 54 additions and 11 deletions

View File

@@ -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(

View File

@@ -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",
},
});