diff --git a/src/contexts/pendingMembers/PendingMembersContext.js b/src/contexts/pendingMembers/PendingMembersContext.js new file mode 100644 index 0000000..1941409 --- /dev/null +++ b/src/contexts/pendingMembers/PendingMembersContext.js @@ -0,0 +1,3 @@ +import { createContext } from "react"; + +export const PendingMembersContext = createContext(null); \ No newline at end of file diff --git a/src/contexts/pendingMembers/PendingMembersProvider.jsx b/src/contexts/pendingMembers/PendingMembersProvider.jsx new file mode 100644 index 0000000..48ff64d --- /dev/null +++ b/src/contexts/pendingMembers/PendingMembersProvider.jsx @@ -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 ( + + {children} + + ); +} \ No newline at end of file