Allow user to assign to a task

This commit is contained in:
T'JAMPENS QUENTIN p2406187
2026-01-12 14:11:51 +01:00
parent bb369c629b
commit 00142f1e3e
2 changed files with 40 additions and 3 deletions
+8 -3
View File
@@ -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 (
<div className={styles.allContent}>
<div className={`glassCard`}>
<div className={styles.textImage}>
<img src="/public/icons/theme/dark.svg" alt="Illustration événement" className={styles.eventImage}/>
<img src="/icons/theme/dark.svg" alt="Illustration événement" className={styles.eventImage}/>
<div className={styles.eventInfo}>
<h2>{event?.name}</h2>
<p>{event && formatDateLetter(event.start)}</p>
@@ -42,8 +48,7 @@ function EventDetail() {
<p className={styles.taskDate}> {event && formatDateLetter(task.start)} - {event && formatDateLetter(task.end)} </p>
<p>{task.description}</p>
</div>
<Button> {task.registered ? "Se désinscrire" : "Sinscrire"} </Button>
<Button onClick={() => handleRegisterBtn(task.id)}> Sinscrire </Button>
</div>
</li>
))}
+32
View File
@@ -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;
}
}