Redirect to 404 page if user not found

This commit is contained in:
T'JAMPENS QUENTIN p2406187 committed 2025-12-17 15:20:51 +01:00
1 parent 883d19d7c4
commit c2f4c9fa55
3 files changed
+20 -5

No files matched your search

@@ -4,20 +4,28 @@ import { useEffect, useState } from "react";
import getUserById from "../../utils/users/getUserById.js"; import getUserById from "../../utils/users/getUserById.js";
import formatDate from "../../utils/date/formatDate.js"; import formatDate from "../../utils/date/formatDate.js";
import Task from "../../components/Task/Task.jsx"; import Task from "../../components/Task/Task.jsx";
import { useNavigate } from "react-router";
export default function VolunteerProfilePage() { export default function VolunteerProfilePage() {
const params = useParams(); const params = useParams();
const id = params.id; const id = params.id;
const navigate = useNavigate();
const [user, setUser] = useState({}); const [user, setUser] = useState({});
useEffect(() => { useEffect(() => {
(async () => { (async () => {
const data = await getUserById(id); const result = await getUserById(id);
setUser(data); if (result?.error === 'not_found') {
}) () navigate("/404");
}, []); } else {
setUser(result);
}
})();
}, [id]);
return <div className={styles.container}> return <div className={styles.container}>
+4
View File
@@ -28,6 +28,10 @@ const router = createBrowserRouter([
path: "/*", path: "/*",
Component: PageNotFound, Component: PageNotFound,
}, },
{
path: "/404",
Component: PageNotFound,
},
{ {
path: "/", path: "/",
Component: Layout, Component: Layout,
+4 -1
View File
@@ -9,12 +9,15 @@ export default async function getUserById (id) {
}); });
if (!res.ok) { if (!res.ok) {
if (res.status === 404) {
return { error: 'not_found' };
}
throw new Error(`Erreur serveur : ${res.status}`); throw new Error(`Erreur serveur : ${res.status}`);
} }
return await res.json(); return await res.json();
} catch (err) { } catch (err) {
console.error('Erreur :', err); console.error('Erreur :', err);
return null; return { error: 'server_error' };
} }
} }