// Module ID: 17995 // Function ID: 17996 // Name: usePendingParentRequests // Dependencies: [32, 19, 7640, 1371, 7641, 504, 8768, 12046, 2] // Exports: useDerivedPendingRequests, usePendingRequestListController, usePendingRequestResolution // Module 17995 (usePendingParentRequests) import useUserLinks from "useUserLinks" /* 8768 */; import useFamilyCenterActions from "useFamilyCenterActions" /* 12046 */; import _slicedToArray from "module_32" /* 32 */; import noop from "module_19" /* 19 */; import FamilyCenterStore from "FamilyCenterStore" /* 7640 */; import UserStore from "UserStore" /* 1371 */; const require = globalThis.__r; require = fn; const UserLinkStatus = fn(7641).UserLinkStatus; const size = fn(2); let result = size.fileFinishedImporting("modules/safety_flows/usePendingParentRequests.tsx"); export const useDerivedPendingRequests = function useDerivedPendingRequests(arr, stateFromStores1) { _require = arr; dependencyMap = stateFromStores1; let items = [FamilyCenterStore]; const stateFromStores = require("initialize").useStateFromStores(items, () => linkedUsers.getLinkedUsers()); let obj = require("initialize"); const items1 = [UserStore]; stateFromStores1 = require("initialize").useStateFromStores(items1, () => { currentUser = currentUser.getCurrentUser(); let id; if (currentUser != null) { id = currentUser.id; } return id; }); const items2 = [stateFromStores1, stateFromStores, stateFromStores1, arr]; return stateFromStores1.useMemo(() => { if (closure_1) { const _Map = Map; const map = new Map(closure_0.map((parent_id) => { const items = [parent_id.parent_id, parent_id]; return items; })); let items = []; const _Object = Object; const values = Object.values(stateFromStores); const iter = values[Symbol.iterator](); const nextResult = iter.next(); while (iter !== undefined) { let tmp14 = nextResult; if (null != nextResult) { if (tmp14.link_status === UserLinkStatus.PENDING) { if (tmp14.requestor_id !== stateFromStores1) { let user = UserStore.getUser(tmp14.user_id); let tmp32 = user; value = map.get(tmp14.user_id); let obj = { parent_id: tmp14.user_id, parent_username: null, parent_avatar: null, created_at: null }; let username; if (user != null) { username = user.username; } if (username == null) { let parent_username; if (value != null) { parent_username = value.parent_username; } username = parent_username; } if (username == null) { username = tmp14.user_id; } obj.parent_username = username; let avatar; if (tmp32 != null) { avatar = tmp32.avatar; } if (avatar == null) { let parent_avatar; if (value != null) { parent_avatar = value.parent_avatar; } avatar = parent_avatar; } if (avatar == null) { avatar = null; } obj.parent_avatar = avatar; obj.created_at = tmp14.created_at; arr = items.push(obj); } } } continue; } return items; } else { return closure_0; } }, items2); }; export const usePendingRequestListController = function usePendingRequestListController(pendingRequests) { pendingRequests = pendingRequests.pendingRequests; ({ linkedUsersProcessed, onActionError: dependencyMap } = pendingRequests); c2 = undefined; isDeclineLoading = undefined; c6 = undefined; c7 = undefined; let callback; const hasMaxConnections = useUserLinks.useHasMaxConnections(); [tmp4, c2] = noop.useState(null); let tmp3 = _slicedToArray(noop.useState(null), 2); const familyCenterActions = useFamilyCenterActions.useFamilyCenterActions({ onSuccess() { return _undefined(null); }, onError() { _undefined(null); dependencyMap(); } }); const acceptLinkRequest = familyCenterActions.acceptLinkRequest; const declineLinkRequest = familyCenterActions.declineLinkRequest; ({ isAcceptLoading, isDeclineLoading } = familyCenterActions); let tmp6 = isAcceptLoading; if (!isAcceptLoading) { tmp6 = isDeclineLoading; } isDeclineLoading = tmp6; const obj4 = { onSuccess() { return _undefined(null); }, onError() { _undefined(null); dependencyMap(); } }; [c6, c7] = noop.useState(() => new Set()); callback = obj2.useCallback((arg0) => { closure_0 = arg0; _undefined3((has) => { if (has.has(closure_0)) { return has; } else { const _Set = Set; const set = new Set(has); set.add(tmp); return set; } tmp = closure_0; }); }, []); let items = [tmp6, callback, acceptLinkRequest]; const items1 = [tmp6, callback, declineLinkRequest]; const callback1 = obj2.useCallback((arg0) => { if (!isDeclineLoading) { callback(arg0); _undefined(arg0); acceptLinkRequest(arg0); } }, items); const callback2 = obj2.useCallback((arg0) => { if (!isDeclineLoading) { callback(arg0); _undefined(arg0); declineLinkRequest(arg0); } }, items1); const tmp2Result = _slicedToArray(noop.useState(() => new Set()), 2); [tmp12, tmp13] = noop.useState(pendingRequests); const tmp2Result4 = _slicedToArray(noop.useState(pendingRequests), 2); [tmp15, tmp16] = noop.useState(pendingRequests); const tmp2Result5 = _slicedToArray(noop.useState(pendingRequests), 2); if (linkedUsersProcessed) { if (!tmp2Result6[0]) { tmp18(true); tmp16(pendingRequests); tmp13((arg0) => { const map = new Map(); const iter = arg0[Symbol.iterator](); const nextResult = iter.next(); while (iter !== undefined) { let tmp2 = nextResult; if (_undefined2.has(nextResult.parent_id)) { let result = map.set(tmp2.parent_id, tmp2); } continue; } for (const item10027 of pendingRequests) { let result1 = map.set(item10027.parent_id, item10027); continue; } return Array.from(map.values()); }); } const obj5 = { seenRequests: tmp12, hasMaxConnections, actioningUserId: tmp4, isAcceptLoading, isDeclineLoading, actionsDisabled: tmp6, handleAccept: callback1, handleDecline: callback2 }; return obj5; } if (pendingRequests !== tmp15) { tmp16(pendingRequests); tmp13((arr) => { const map = new Map(arr.map((parent_id) => { const items = [parent_id.parent_id, parent_id]; return items; })); for (const item10015 of pendingRequests) { let result = map.set(item10015.parent_id, item10015); continue; } return Array.from(map.values()); }); } }; export const usePendingRequestResolution = function usePendingRequestResolution(parent_id) { _require = parent_id; const items = [FamilyCenterStore]; stateFromStores = require("initialize").useStateFromStores(items, () => { const tmp = FamilyCenterStore.getLinkedUsers()[closure_0]; let link_status; if (tmp != null) { link_status = tmp.link_status; } return link_status; }); const obj = require("initialize"); [tmp3, tmp4] = noop.useState(() => { let str = "connected"; if (stateFromStores !== UserLinkStatus.ACTIVE) { if (null == tmp) { let str2 = null; } else { str2 = "declined"; } str = str2; } return str; }); const tmp5 = _slicedToArray(noop.useState(stateFromStores), 2); const first = tmp5[0]; if (stateFromStores !== first) { tmp5[1](stateFromStores); if (stateFromStores === UserLinkStatus.ACTIVE) { tmp4("connected"); } else if (stateFromStores === tmp8.PENDING) { tmp4(null); } else { let tmp10 = null != stateFromStores; if (!tmp10) { tmp10 = null != first && first !== tmp8.ACTIVE; const tmp11 = null != first && first !== tmp8.ACTIVE; } if (tmp10) { tmp4("declined"); } } } let tmp16 = "connected" === tmp3; const obj2 = { isConnected: tmp16, isDeclined: "declined" === tmp3, isResolved: null }; if (!tmp16) { tmp16 = tmp17; } obj2.isResolved = tmp16; return obj2; };