Hide event tasks

This commit is contained in:
T'JAMPENS QUENTIN p2406187 committed 2026-01-12 21:36:31 +01:00
1 parent c48bd0856f
commit 6723d42a5f
3 files changed
+34 -20

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
import styles from "./eventList.module.css";
import { formatDateLetter } from "../../utils/date/formatDateLetter.js";
import { useState } from "react";
export default function EventItem({ eventGroup }) {
const [isVisible, setIsVisible] = useState(false);
return <div key={eventGroup.date} className={`${styles.eventGroup} glassBorder`} onClick={() => setIsVisible(!isVisible)}>
<div className={styles.eventTitle}>
<p className={styles.title}>{eventGroup.name}</p>
<p>{formatDateLetter(eventGroup.start)}</p>
</div>
{isVisible &&
<ul className={styles.eventDetails}>
{eventGroup.tasks.map((task, i) => (
<li key={i} className={styles.eventTasks}>
<p>- {task.name} - {task.description}</p>
<p>{formatDateLetter(task.start)} - {formatDateLetter(task.end)}</p>
</li>
))}
</ul>
}
</div>
}
+5 -20
View File
@@ -1,6 +1,6 @@
import { useMemo } from "react"; import { useMemo } from "react";
import styles from "./eventList.module.css"; import styles from "./eventList.module.css";
import { formatDateLetter } from "../../utils/date/formatDateLetter.js"; import EventItem from "./eventItem";
function EventList({ events }) { function EventList({ events }) {
@@ -16,26 +16,11 @@ function EventList({ events }) {
<div className={`${styles.glassCard} glassCard`}> <div className={`${styles.glassCard} glassCard`}>
<h2>Liste des événements à venir</h2> <h2>Liste des événements à venir</h2>
{sortedEvents.length > 0 ? ( {sortedEvents.length > 0 ? (
<ul className={styles.eventList}> <div className={styles.eventList}>
{sortedEvents.map((eventGroup) => ( {sortedEvents.map((eventGroup, index) => (
<li key={eventGroup.date} className={`${styles.eventGroup} glassBorder`}> <EventItem eventGroup={eventGroup} key={index} />
<div className={styles.eventTitle}> ))}
<p className={styles.title}>{eventGroup.name}</p>
<p>{formatDateLetter(eventGroup.start)}</p>
</div> </div>
{/* TODO: Faire une liste déroulante pour ne plus afficher les tache */}
<ul className={styles.eventDetails}>
{eventGroup.tasks.map((task, i) => (
<li key={i} className={styles.eventTasks}>
<p>- {task.name} - {task.description}</p>
<p>{formatDateLetter(task.start)} - {formatDateLetter(task.end)}</p>
</li>
))}
</ul>
</li>
))}
</ul>
) : ( ) : (
<p>Aucun événement planifié pour l'instant.</p> <p>Aucun événement planifié pour l'instant.</p>
)} )}
@@ -54,6 +54,10 @@ h2{
padding: 10px 20px 10px 20px; padding: 10px 20px 10px 20px;
} }
.eventGroup:hover{
cursor: pointer;
}
.eventTitle { .eventTitle {
display: flex; display: flex;
flex-direction: row; flex-direction: row;