189 lines
7.3 KiB
TypeScript
189 lines
7.3 KiB
TypeScript
// Module ID: 6200
|
|
// Function ID: 55611
|
|
// Name: useUserIdsForLinkStatus
|
|
// Dependencies: [31, 1850, 5765, 5766, 624, 6201, 6202, 5827, 2]
|
|
// Exports: getActiveLinkUserIds, useAcceptedRequestsCount, useActiveLinkUsers, useActivityWindowTimeStamp, useHasActiveLinks, useHasActiveParentLinks, useHasMaxConnections, useLinkTimestampText, usePendingRequestCount, useRequiresParentalConsent, useUserQRLinkUrl
|
|
|
|
// Module 6200 (useUserIdsForLinkStatus)
|
|
import result from "result";
|
|
import _isNativeReflectConstruct from "_isNativeReflectConstruct";
|
|
import closure_5 from "_isNativeReflectConstruct";
|
|
import items from "items";
|
|
|
|
let closure_10;
|
|
let closure_11;
|
|
let closure_12;
|
|
let closure_6;
|
|
let closure_7;
|
|
let closure_8;
|
|
let closure_9;
|
|
const require = arg1;
|
|
function useUserIdsForLinkStatus(ACTIVE) {
|
|
const _require = ACTIVE;
|
|
const items = [closure_5];
|
|
const stateFromStores = _require(624).useStateFromStores(items, () => outer1_5.getLinkedUsers());
|
|
const items1 = [stateFromStores, ACTIVE];
|
|
return React.useMemo(() => {
|
|
const values = Object.values(stateFromStores);
|
|
const found = values.filter((link_status) => {
|
|
let tmp = null != link_status;
|
|
if (tmp) {
|
|
tmp = link_status.link_status === outer1_0;
|
|
}
|
|
return tmp;
|
|
});
|
|
const sorted = found.sort((updated_at, updated_at2) => {
|
|
const time = new Date(updated_at.updated_at).getTime();
|
|
const date = new Date(updated_at.updated_at);
|
|
return time - new Date(updated_at2.updated_at).getTime();
|
|
});
|
|
const mapped = sorted.map((user_id) => user_id.user_id);
|
|
return mapped.filter((arg0) => null != arg0);
|
|
}, items1);
|
|
}
|
|
function useUsersForLinkStatus(ACTIVE) {
|
|
const _require = useUserIdsForLinkStatus(ACTIVE);
|
|
const items = [_isNativeReflectConstruct];
|
|
const stateFromStoresArray = _require(624).useStateFromStoresArray(items, () => closure_0.map((arg0) => outer2_4.getUser(arg0)));
|
|
return stateFromStoresArray.filter((arg0) => null != arg0);
|
|
}
|
|
function useActiveLinkUserIds() {
|
|
return useUserIdsForLinkStatus(constants.ACTIVE);
|
|
}
|
|
({ ACCEPTED_LINK_REQUEST_TIMESTAMP_FORMATTER: closure_6, FAMILY_CENTER_REQUEST_QR_CODE_URL: closure_7, MAX_PARENT_TO_TEEN_ACTIVE_CONNECTIONS: closure_8, MAX_TEEN_TO_PARENT_ACTIVE_CONNECTIONS: closure_9, PENDING_LINK_REQUEST_TIMESTAMP_FORMATTER: closure_10, UserLinkStatus: closure_11, UserLinkType: closure_12 } = items);
|
|
let result = require("_isNativeReflectConstruct").fileFinishedImporting("modules/parent_tools/hooks/useUserLinks.tsx");
|
|
|
|
export { useUserIdsForLinkStatus };
|
|
export { useUsersForLinkStatus };
|
|
export { useActiveLinkUserIds };
|
|
export const getActiveLinkUserIds = function getActiveLinkUserIds() {
|
|
const values = Object.values(linkedUsers.getLinkedUsers());
|
|
const found = values.filter((link_status) => {
|
|
let tmp = null != link_status;
|
|
if (tmp) {
|
|
tmp = link_status.link_status === outer1_11.ACTIVE;
|
|
}
|
|
return tmp;
|
|
});
|
|
const sorted = found.sort((updated_at, updated_at2) => {
|
|
const time = new Date(updated_at.updated_at).getTime();
|
|
const date = new Date(updated_at.updated_at);
|
|
return time - new Date(updated_at2.updated_at).getTime();
|
|
});
|
|
const mapped = sorted.map((user_id) => user_id.user_id);
|
|
return mapped.filter((arg0) => null != arg0);
|
|
};
|
|
export const useActiveLinkUsers = function useActiveLinkUsers() {
|
|
return useUsersForLinkStatus(constants.ACTIVE);
|
|
};
|
|
export const useHasActiveLinks = function useHasActiveLinks() {
|
|
return useActiveLinkUserIds().length > 0;
|
|
};
|
|
export const useHasActiveParentLinks = function useHasActiveParentLinks() {
|
|
const items = [closure_5];
|
|
stateFromStores = stateFromStores(624).useStateFromStores(items, () => outer1_5.getLinkedUsers());
|
|
const items1 = [stateFromStores];
|
|
return React.useMemo(() => {
|
|
const values = Object.values(stateFromStores);
|
|
return values.some((link_status) => {
|
|
let tmp = null != link_status;
|
|
if (tmp) {
|
|
tmp = link_status.link_status === outer2_11.ACTIVE;
|
|
}
|
|
if (tmp) {
|
|
tmp = link_status.link_type === outer2_12.PARENT;
|
|
}
|
|
return tmp;
|
|
});
|
|
}, items1);
|
|
};
|
|
export const useUserQRLinkUrl = function useUserQRLinkUrl() {
|
|
const items = [closure_5];
|
|
const stateFromStores = require(624) /* defaultAreStatesEqual */.useStateFromStores(items, () => outer1_5.getLinkCode());
|
|
const obj = require(624) /* defaultAreStatesEqual */;
|
|
const items1 = [_isNativeReflectConstruct];
|
|
const stateFromStores1 = require(624) /* defaultAreStatesEqual */.useStateFromStores(items1, () => outer1_4.getCurrentUser());
|
|
let tmp3 = null;
|
|
if (null != stateFromStores) {
|
|
tmp3 = null;
|
|
if (null != stateFromStores1) {
|
|
tmp3 = callback(stateFromStores1.id, stateFromStores);
|
|
}
|
|
}
|
|
return tmp3;
|
|
};
|
|
export const useHasMaxConnections = function useHasMaxConnections() {
|
|
return useActiveLinkUserIds().length >= (importDefault(6201)() ? closure_8 : closure_9);
|
|
};
|
|
export const usePendingRequestCount = function usePendingRequestCount() {
|
|
const items = [_isNativeReflectConstruct];
|
|
stateFromStores = stateFromStores(624).useStateFromStores(items, () => outer1_4.getCurrentUser());
|
|
stateFromStores(624);
|
|
[][0] = closure_5;
|
|
let num = 0;
|
|
if (null != stateFromStores) {
|
|
const _Object = Object;
|
|
const values = Object.values(tmp3);
|
|
num = values.filter((link_status) => {
|
|
let tmp = null != link_status;
|
|
if (tmp) {
|
|
tmp = link_status.link_status === outer1_11.PENDING;
|
|
}
|
|
if (tmp) {
|
|
tmp = stateFromStores.id !== link_status.requestor_id;
|
|
}
|
|
return tmp;
|
|
}).length;
|
|
}
|
|
return num;
|
|
};
|
|
export const useRequiresParentalConsent = function useRequiresParentalConsent(id) {
|
|
const items = [closure_5];
|
|
let tmp = null != id;
|
|
if (tmp) {
|
|
const tmp2 = obj.useStateFromStores(items, () => outer1_5.getLinkedUsers())[id];
|
|
let prop;
|
|
if (null != tmp2) {
|
|
prop = tmp2.teen_requires_parental_consent;
|
|
}
|
|
tmp = null != prop && prop;
|
|
const tmp4 = null != prop && prop;
|
|
}
|
|
return tmp;
|
|
};
|
|
export const useAcceptedRequestsCount = function useAcceptedRequestsCount() {
|
|
return useActiveLinkUserIds().length;
|
|
};
|
|
export const useActivityWindowTimeStamp = function useActivityWindowTimeStamp(activityWindowTimestampFormatter) {
|
|
const _require = activityWindowTimestampFormatter;
|
|
let closure_1 = _require(6202).useSelectedTeenId();
|
|
const obj = _require(6202);
|
|
const items = [closure_5];
|
|
const stateFromStores = _require(624).useStateFromStores(items, () => {
|
|
let rangeStartTimestamp = null;
|
|
if (null != closure_1) {
|
|
rangeStartTimestamp = outer1_5.getRangeStartTimestamp();
|
|
}
|
|
return rangeStartTimestamp;
|
|
});
|
|
let result = null;
|
|
if (null != stateFromStores) {
|
|
const _Date = Date;
|
|
const date = new Date(stateFromStores);
|
|
result = _require(5827).formatUserActivityTimestamp(date.getTime(), () => closure_0, 7);
|
|
const obj3 = _require(5827);
|
|
}
|
|
return result;
|
|
};
|
|
export const useLinkTimestampText = function useLinkTimestampText(id, status) {
|
|
const _require = id;
|
|
const items = [closure_5];
|
|
const stateFromStores = _require(624).useStateFromStores(items, () => outer1_5.getLinkTimestamp(closure_0));
|
|
if (null == stateFromStores) {
|
|
return null;
|
|
} else {
|
|
const _Date = Date;
|
|
_require(5827).formatLinkTimestamp(Date.parse(stateFromStores), status === constants.PENDING ? closure_10 : closure_6);
|
|
const obj2 = _require(5827);
|
|
}
|
|
};
|