use fetchWrapper for getUserById.js
This commit is contained in:
1 parent
79e765dd96
commit
c11bb849c5
3 files changed
+92
-84
No files matched your search
@@ -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;
|
||||
Reference in new issue
Block a user