diff --git a/src/pages/eventDetail/eventDetail.jsx b/src/pages/eventDetail/eventDetail.jsx index ac3a780..5ee109d 100644 --- a/src/pages/eventDetail/eventDetail.jsx +++ b/src/pages/eventDetail/eventDetail.jsx @@ -4,6 +4,7 @@ import { useParams } from "react-router"; import getEventById from "../../utils/event/getEventById.js"; import { formatDateLetter } from "../../utils/date/formatDateLetter.js"; import Button from "../../components/ui/button/button.jsx"; +import assign from "../../utils/tasks/assign.js"; function EventDetail() { @@ -20,11 +21,16 @@ function EventDetail() { }) () }, []) + const handleRegisterBtn = async (eventId) => { + console.log(eventId); + await assign(eventId); + } + return (
- Illustration événement + Illustration événement

{event?.name}

{event && formatDateLetter(event.start)}

@@ -42,8 +48,7 @@ function EventDetail() {

{event && formatDateLetter(task.start)} - {event && formatDateLetter(task.end)}

{task.description}

- - +
))} diff --git a/src/utils/tasks/assign.js b/src/utils/tasks/assign.js new file mode 100644 index 0000000..413dc71 --- /dev/null +++ b/src/utils/tasks/assign.js @@ -0,0 +1,32 @@ +import getXSRFToken from "../getXSRF.js"; + + +export default async function assign(taskId) { + + const csrfToken = await getXSRFToken(); + + try { + const res = await fetch(`http://${import.meta.env.VITE_API_URL}/api/events/task/assign`, { + method: 'POST', + credentials: 'include', + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + 'X-XSRF-TOKEN': csrfToken, + }, + body: JSON.stringify({ + task_id: taskId + }), + }); + + if (!res.ok) { + throw new Error(`Erreur serveur : ${res.status}`); + } + + const data = await res.json(); + return data; + } catch (err) { + console.error('Erreur :', err); + return null; + } +} \ No newline at end of file