diff options
Diffstat (limited to 'src/routes/frontend.ts')
-rw-r--r-- | src/routes/frontend.ts | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/routes/frontend.ts b/src/routes/frontend.ts index cc97ab8..23418df 100644 --- a/src/routes/frontend.ts +++ b/src/routes/frontend.ts @@ -159,6 +159,24 @@ router.get("/:eventID", async (req: Request, res: Response) => { } return acc; }, 0) || 0; + const visibleAttendees = event.attendees?.filter( + (attendee) => attendee.visibility === "public", + ); + const hiddenAttendees = event.attendees?.filter( + (attendee) => attendee.visibility === "private", + ); + const numberOfHiddenAttendees = event.attendees?.reduce( + (acc, attendee) => { + if ( + attendee.status === "attending" && + attendee.visibility === "private" + ) { + return acc + (attendee.number || 1); + } + return acc; + }, + 0, + ); if (event.maxAttendees) { spotsRemaining = event.maxAttendees - numberOfAttendees; if (spotsRemaining <= 0) { @@ -189,8 +207,10 @@ router.get("/:eventID", async (req: Request, res: Response) => { title: event.name, escapedName: escapedName, eventData: event, - eventAttendees: eventAttendees, + visibleAttendees, + hiddenAttendees, numberOfAttendees, + numberOfHiddenAttendees, spotsRemaining: spotsRemaining, noMoreSpots: noMoreSpots, eventStartISO: eventStartISO, |