create pendingMembers context
This commit is contained in:
@@ -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