diff --git a/src/pages/eventDetail/components/createTaskBtn/createTaskBtn.jsx b/src/pages/eventDetail/components/createTaskBtn/createTaskBtn.jsx index 1995f34..fb6fac5 100644 --- a/src/pages/eventDetail/components/createTaskBtn/createTaskBtn.jsx +++ b/src/pages/eventDetail/components/createTaskBtn/createTaskBtn.jsx @@ -1,9 +1,10 @@ import styles from "../../eventDetail.module.css"; import Button from "../../../../components/ui/button/button.jsx"; -import { useState } from "react"; +import {useContext, useState} from "react"; import TextInput from "../../../../components/ui/input/input.jsx"; import Modal from "../../../../components/ui/modal/modal.jsx"; import createTaskApi from "../../../../utils/tasks/createTask.js"; +import {EventDetailContext} from "../../../../contexts/eventDetail/eventDetail.js"; export default function CreateTaskBtn({ id }) { @@ -16,6 +17,8 @@ export default function CreateTaskBtn({ id }) { const [startTime, setStartTime] = useState(""); const [endTime, setEndTime] = useState(""); + const { updateEventInfo } = useContext(EventDetailContext) + const createTask = async () => { const success = await createTaskApi({ eventId: id, @@ -35,6 +38,8 @@ export default function CreateTaskBtn({ id }) { setMaxParticipants(""); setStartTime(""); setEndTime(""); + + updateEventInfo(id) } else { console.log("⚠️ Échec de la création de la task"); } diff --git a/src/pages/eventDetail/eventDetail.jsx b/src/pages/eventDetail/eventDetail.jsx index 6484c9e..534ddf8 100644 --- a/src/pages/eventDetail/eventDetail.jsx +++ b/src/pages/eventDetail/eventDetail.jsx @@ -1,14 +1,14 @@ -import { useState, useEffect, useContext } from "react"; +import {useState, useEffect, useContext} from "react"; import styles from "./eventDetail.module.css"; -import { useParams } from "react-router"; -import getEventById from "../../utils/events/getEventById.js"; -import { formatDateLetter } from "../../utils/date/formatDateLetter.js"; +import {useParams} from "react-router"; +import {formatDateLetter} from "../../utils/date/formatDateLetter.js"; import EventTask from "./components/EventTask/EventTask.jsx"; import Button from "../../components/ui/button/button.jsx"; import Modal from "../../components/ui/modal/modal.jsx"; import { AuthContext } from "../../contexts/auth/AuthContext.js"; import { EventContext } from "../../contexts/events/EventContext.js"; -import { useNavigate } from "react-router"; +import { EventDetailContext } from "../../contexts/eventDetail/eventDetail.js"; +import {useNavigate} from "react-router"; import CreateTaskBtn from "./components/createTaskBtn/createTaskBtn.jsx"; @@ -18,17 +18,13 @@ function EventDetail() { const id = params.id; const { user } = useContext(AuthContext) const { removeEvent } = useContext(EventContext) + const { tasks, updateEventInfo, eventInfo } = useContext(EventDetailContext) const navigate = useNavigate(); const [open, setOpen] = useState(false); - const [event, setEvent] = useState(null); - useEffect(() => { - (async () => { - const e = await getEventById(id); - setEvent(e); - }) () + updateEventInfo(id); }, []) const handleDelete = () => { @@ -46,43 +42,44 @@ function EventDetail() { return ( -
-
-
- Illustration événement -
-

{event?.name}

-
-
-

{event && formatDateLetter(event.start)}

-

{event?.description}

+
+
+
+ Illustration événement +
+

{eventInfo?.name}

+
+
+

{eventInfo && formatDateLetter(eventInfo.start)}

+

{eventInfo?.description}

+
+ {user?.isAdmin &&
+ + +
}
- {user?.isAdmin &&
- - -
}
+ +

Tâches

+
+ {tasks?.map((task, index) => ( + + ))} +
-

Tâches

-
- {event?.tasks?.map((task, index) => ( - - ))} -
+ setOpen(false)} title={"Suppression"}> +
+

Etes-vous sur de vouloir supprimer l'événement {eventInfo?.name} ?

+ + +
+
+ +
- - setOpen(false)} title={"Suppression"}> -
-

Etes-vous sur de vouloir supprimer l'événement {event?.name} ?

- - -
-
- - -
); }