use fetchWrapper for getUserById.js

This commit is contained in:
T'JAMPENS QUENTIN p2406187 committed 2026-01-30 14:37:41 +01:00
1 parent 79e765dd96
commit c11bb849c5
3 files changed
+92 -84

No files matched your search

+30 -14
View File
@@ -6,7 +6,6 @@ import ToolBar from "../../components/ToolBar/ToolBar.jsx";
import filter from "../../utils/filter.js";
import getUserById from "../../utils/users/getUserById.js";
function VolunteerPage() {
const [filters, setFilters] = useState({
alphabetical: "asc",
@@ -17,21 +16,38 @@ function VolunteerPage() {
useEffect(() => {
(async () => {
const result = await getAllUser();
const usersData = await Promise.all(result.data.map(id => getUserById(id)));
setUsers(usersData);
})()
}, [])
return (
<div className={styles.container}>
<ToolBar setFilters={setFilters} filters={filters} showCreate={false}/>
<div className={styles.usersList}>
{filter(users, filters, "user").map((user, index) => (
<VolunteerCard key={index} user={user} />
))}
if (result.status !== 200 || !Array.isArray(result.data)) {
console.error("Erreur lors du chargement des utilisateurs", result);
return;
}
const usersData = await Promise.all(
result.data.map(async (id) => {
const res = await getUserById(id);
if (res.status === 200) {
return res.data;
}
console.warn(`Utilisateur ${id} non récupéré`, res.status);
return null;
})
);
setUsers(usersData.filter(Boolean));
})();
}, []);
return (
<div className={styles.container}>
<ToolBar setFilters={setFilters} filters={filters} showCreate={false} />
<div className={styles.usersList}>
{filter(users, filters, "user").map((user, index) => (
<VolunteerCard key={user.id ?? index} user={user} />
))}
</div>
</div>
</div>
);
);
}
export default VolunteerPage;