create pendingMembers context
This commit is contained in:
1 parent
c85490e1c6
commit
fe1948e632
2 files changed
+40
No files matched your search
@@ -0,0 +1,3 @@
|
|||||||
|
import { createContext } from "react";
|
||||||
|
|
||||||
|
export const PendingMembersContext = createContext(null);
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
import { useState } from "react";
|
||||||
|
import { PendingMembersContext } from "./PendingMembersContext";
|
||||||
|
|
||||||
|
import getUserToValidate from "../../utils/users/getUserToValidate";
|
||||||
|
import getUserById from "../../utils/users/getUserById";
|
||||||
|
|
||||||
|
export function PendingMembersProvider({ children }) {
|
||||||
|
|
||||||
|
const [pendingMembers, setPendingMembers] = useState([]);
|
||||||
|
|
||||||
|
const updatePendingMembers = async () => {
|
||||||
|
const result = await getUserToValidate();
|
||||||
|
const userIds = result.data;
|
||||||
|
|
||||||
|
if (!userIds || userIds.length === 0) {
|
||||||
|
setPendingMembers([]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const users = await Promise.all(
|
||||||
|
userIds.map(id => getUserById(id))
|
||||||
|
);
|
||||||
|
|
||||||
|
setPendingMembers(users.map(u => u.data));
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<PendingMembersContext.Provider
|
||||||
|
value={{
|
||||||
|
pendingMembers,
|
||||||
|
updatePendingMembers
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{children}
|
||||||
|
</PendingMembersContext.Provider>
|
||||||
|
);
|
||||||
|
}
|
||||||
Reference in new issue
Block a user