diff --git a/src/pages/VolunteerProfile/VolunteerProfilePage.jsx b/src/pages/VolunteerProfile/VolunteerProfilePage.jsx index 62d467a..763b7f7 100644 --- a/src/pages/VolunteerProfile/VolunteerProfilePage.jsx +++ b/src/pages/VolunteerProfile/VolunteerProfilePage.jsx @@ -1,74 +1,84 @@ -import styles from "./VolunteerProfilePage.module.css" -import { useParams } from "react-router"; +import styles from "./VolunteerProfilePage.module.css"; +import { useParams, useNavigate } from "react-router"; import { useEffect, useState, useContext } from "react"; import getUserById from "../../utils/users/getUserById.js"; import formatDate from "../../utils/date/formatDate.js"; import Task from "../../components/Task/Task.jsx"; -import { useNavigate } from "react-router"; import ManageMember from "./components/manageMember/ManageMember.jsx"; import { AuthContext } from "../../contexts/auth/AuthContext.js"; export default function VolunteerProfilePage() { - - const params = useParams(); - const id = params.id; - + const { id } = useParams(); const navigate = useNavigate(); - const { user: currentUser } = useContext(AuthContext); - const [user, setUser] = useState({}); + const [user, setUser] = useState(null); useEffect(() => { (async () => { - const result = await getUserById(id); - if (result?.error === 'not_found') { + const res = await getUserById(id); + + if (res.status === 404) { navigate("/404"); - } else { - setUser(result); + return; } + + if (res.status !== 200) { + console.error("Erreur lors du chargement du profil", res); + return; + } + + setUser(res.data); })(); - }, [id]); + }, [id, navigate]); + if (!user) return null; - - return
Role : {user.role}
-Membre depuis : {formatDate(user.created_at)}
-Mail : {user.email}
-Téléphone : {user.phone === null ? "Pas de numéro enregistré" : user.phone}
-Aucune tâche pour le moment.
- )} +Role : {user.role}
+Membre depuis : {formatDate(user.created_at)}
+Mail : {user.email}
++ Téléphone :{" "} + {user.phone ?? "Pas de numéro enregistré"} +
+Aucune tâche pour le moment.
+ )} +