Implement event feedback functionality: Add EventFeedback model to Prisma schema, enabling users to submit ratings and comments for events. Update EventsPageSection and AdminPanel components to support feedback management, including UI for submitting feedback and viewing existing feedbacks. Refactor registration logic to retrieve all user registrations for improved feedback handling.
This commit is contained in:
@@ -170,17 +170,14 @@ export default function EventsPageSection({
|
||||
}
|
||||
|
||||
// Charger les inscriptions depuis l'API seulement si on n'a pas de données initiales
|
||||
// On charge pour tous les événements (passés et à venir) pour permettre le feedback
|
||||
const checkRegistrations = async () => {
|
||||
const upcomingOnlyEvents = events.filter(
|
||||
(e) => getEventStatus(e) === "UPCOMING"
|
||||
);
|
||||
const registrationChecks = upcomingOnlyEvents.map(async (event) => {
|
||||
const registrationChecks = events.map(async (event) => {
|
||||
try {
|
||||
const response = await fetch(`/api/events/${event.id}/register`);
|
||||
const data = await response.json();
|
||||
return { eventId: event.id, registered: data.registered || false };
|
||||
} catch (err) {
|
||||
console.error("Error checking registration:", err);
|
||||
} catch {
|
||||
return { eventId: event.id, registered: false };
|
||||
}
|
||||
});
|
||||
@@ -500,8 +497,14 @@ export default function EventsPageSection({
|
||||
</button>
|
||||
)}
|
||||
{getEventStatus(event) === "PAST" && (
|
||||
<button className="w-full px-4 py-2 border border-gray-600/50 bg-gray-900/20 text-gray-500 uppercase text-xs tracking-widest rounded cursor-not-allowed">
|
||||
Événement terminé
|
||||
<button
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
router.push(`/feedback/${event.id}`);
|
||||
}}
|
||||
className="w-full px-4 py-2 border border-pixel-gold/50 bg-black/40 text-white uppercase text-xs tracking-widest rounded hover:bg-pixel-gold/10 hover:border-pixel-gold transition"
|
||||
>
|
||||
Donner un feedback
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user