validate + delete user + last event + prototype chart

This commit is contained in:
p2405951
2026-01-13 11:49:11 +01:00
parent 263e7fea46
commit b0f0aec16e
7 changed files with 194 additions and 233 deletions
@@ -5,25 +5,13 @@ import getAllEvents from "../../utils/event/getAllEvents";
function IncompleteEvent() {
const [events, setEvents] = useState([]);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
useEffect(() => {
const fetchEvents = async () => {
try {
const data = await getAllEvents();
if (data) {
setEvents(data);
} else {
setError("Aucun événement trouvé.");
}
} catch (err) {
setError("Erreur lors de la récupération des événements.");
console.error(err);
} finally {
setLoading(false);
}
const data = await getAllEvents();
setEvents(data?.data || data || []);
setLoading(false);
};
fetchEvents();
}, []);
@@ -40,48 +28,29 @@ function IncompleteEvent() {
);
}
if (error) {
return (
<div className={`${styles.rightBlock} glassCard`}>
<h2>Derniers événements</h2>
<div className={styles.eventsContainer}>
<div className={`${styles.emptyEvent} glassCard`}>
<p>{error}</p>
</div>
</div>
</div>
);
}
return (
<div className={`${styles.rightBlock} glassCard`}>
<h2>Derniers événements</h2>
<div className={styles.eventsContainer}>
{events.length > 0 ? (
events.map((event, index) => (
<div key={event.id} className={`glassCard ${styles.eventCard}`}>
<h3>{event.name}</h3>
<p className={styles.eventDate}>
{new Date(event.start).toLocaleDateString("fr-FR")} - {new Date(event.end).toLocaleDateString("fr-FR")}
</p>
<p className={styles.eventDescription}>{event.description}</p>
<h4>Tâches associées :</h4>
<ul className={styles.tasksList}>
{event.tasks && event.tasks.length > 0 ? (
event.tasks.map((task, taskIndex) => (
<li key={taskIndex}>{task.name}</li>
))
) : (
<li>Aucune tâche associée.</li>
)}
</ul>
</div>
))
) : (
<div className={`${styles.emptyEvent} glassCard`}>
<p>Aucun événement disponible.</p>
{events.map((event) => (
<div key={event.id} className={`glassCard ${styles.eventCard}`}>
<h3>{event.name}</h3>
<p className={styles.eventDate}>
{new Date(event.start).toLocaleDateString("fr-FR")} - {new Date(event.end).toLocaleDateString("fr-FR")}
</p>
<p className={styles.eventDescription}>{event.description}</p>
<h4>Tâches associées :</h4>
<ul className={styles.tasksList}>
{event.tasks?.length ? (
event.tasks.map((task, taskIndex) => (
<li key={taskIndex}>{task.name}</li>
))
) : (
<li>Aucune tâche associée.</li>
)}
</ul>
</div>
)}
))}
</div>
</div>
);