From cd0199be8575c60fc730f02aaf01f3d47fcc65a6 Mon Sep 17 00:00:00 2001 From: T'JAMPENS QUENTIN p2406187 Date: Fri, 27 Mar 2026 14:34:52 +0100 Subject: [PATCH] Display max participant --- .../components/EventTask/EventTask.module.css | 59 +++++++++++++++++++ .../components/EventTask/EventTask.tsx | 26 ++++++++ 2 files changed, 85 insertions(+) diff --git a/src/pages/EventDetail/components/EventTask/EventTask.module.css b/src/pages/EventDetail/components/EventTask/EventTask.module.css index 6cec4e9..80b0247 100644 --- a/src/pages/EventDetail/components/EventTask/EventTask.module.css +++ b/src/pages/EventDetail/components/EventTask/EventTask.module.css @@ -21,6 +21,65 @@ animation-delay: calc(var(--i) * 0.1s); } +.participants { + margin-top: 8px; + display: flex; + flex-direction: column; + gap: 6px; +} + +.participantsHeader { + display: flex; + align-items: center; + gap: 8px; +} + +.participantsLabel { + font-size: 0.8rem; + opacity: 0.55; +} + +.participantsBadge { + font-size: 0.8rem; + font-weight: 600; + padding: 2px 10px; + border-radius: 999px; +} + +.badgeOpen { + background: rgba(34, 197, 94, 0.15); + color: #4ade80; +} + +.badgeAlmost { + background: rgba(234, 179, 8, 0.15); + color: #facc15; +} + +.badgeFull { + background: rgba(239, 68, 68, 0.15); + color: #f87171; +} + +.progressBar { + width: 100%; + max-width: 200px; + height: 5px; + border-radius: 999px; + background: rgba(255, 255, 255, 0.1); + overflow: hidden; +} + +.progressFill { + height: 100%; + border-radius: 999px; + transition: width 0.4s ease; +} + +.fillOpen { background: #4ade80; } +.fillAlmost { background: #facc15; } +.fillFull { background: #f87171; } + .modalContent { text-align: center; } diff --git a/src/pages/EventDetail/components/EventTask/EventTask.tsx b/src/pages/EventDetail/components/EventTask/EventTask.tsx index bcd3bd0..0850a35 100644 --- a/src/pages/EventDetail/components/EventTask/EventTask.tsx +++ b/src/pages/EventDetail/components/EventTask/EventTask.tsx @@ -91,6 +91,32 @@ export default function EventTask({ task, index, eventId }: EventTaskProps) { {formatDateLetter(task.start)} - {formatDateLetter(task.end)}

{task.description}

+
+
+ Participants + = task.max_participants + ? styles.badgeFull + : task.users_count / task.max_participants >= 0.75 + ? styles.badgeAlmost + : styles.badgeOpen + }`}> + {task.users_count} / {task.max_participants} + +
+
+
= task.max_participants + ? styles.fillFull + : task.users_count / task.max_participants >= 0.75 + ? styles.fillAlmost + : styles.fillOpen + }`} + style={{ width: `${Math.min((task.users_count / task.max_participants) * 100, 100)}%` }} + /> +
+