/* Metro module 8170; source: modules/parent_tools/hooks/useUserLinks.tsx; dependencies: [31, 1878, 5116, 5117, 632, 8171, 8172, 5187, 2] */ import UserStore from '../../../stores/UserStore.tsx'; /* Metro dependency 1878 */ import FamilyCenterStore from '../FamilyCenterStore.tsx'; /* Metro dependency 5116 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as UseStateFromStoresModule from '../../../external/discord_common/js/packages/flux/useStateFromStores.tsx'; /* Metro dependency 632 */ import * as FamilyCenterConstantsModule from '../FamilyCenterConstants.tsx'; /* Metro dependency 5117 */ import * as UseSelectedTeenModule from './useSelectedTeen.tsx'; /* Metro dependency 8172 */ function _fun65555(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#65555, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8355:6, offset: 0x01bd37ad, size: 392 bytes, params: 8, frame: 21 const env0_0 = require; const useUserIdsForLinkStatus2 = useUserIdsForLinkStatus; const closure2 = function() { return useUserIdsForLinkStatus(UserLinkStatus.ACTIVE); }; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const useUsersForLinkStatus2 = useUsersForLinkStatus; (FileImportTrackerModule).fileFinishedImporting('modules/parent_tools/hooks/useUserLinks.tsx'); exports.useUserIdsForLinkStatus = useUserIdsForLinkStatus2; exports.useUsersForLinkStatus = useUsersForLinkStatus2; exports.useActiveLinkUserIds = closure2; exports.useActiveLinkUsers = function() { return useUsersForLinkStatus(UserLinkStatus.ACTIVE); }; exports.useHasActiveLinks = function() { return useActiveLinkUserIds().length > 0; }; exports.useHasActiveParentLinks = useHasActiveParentLinks; exports.useUserQRLinkUrl = useUserQRLinkUrl; exports.useHasMaxConnections = function() { return useActiveLinkUserIds().length >= (importDefault(dependencyMap[5])() ? MAX_PARENT_TO_TEEN_ACTIVE_CONNECTIONS : MAX_TEEN_TO_PARENT_ACTIVE_CONNECTIONS); }; exports.usePendingRequestCount = usePendingRequestCount; exports.useAcceptedRequestsCount = function() { return useActiveLinkUserIds().length; }; exports.useActivityWindowTimeStamp = useActivityWindowTimeStamp; exports.useLinkTimestampText = useLinkTimestampText; function useUserIdsForLinkStatus(a0) { // fn#65556, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8355:387, offset: 0x01bd3935, size: 104 bytes, params: 2, frame: 16 const env0_0 = a0; return ReactModule.useMemo(_fun65558, [(require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([FamilyCenterStore], function() { return FamilyCenterStore.getLinkedUsers(); }), a0]); function _fun65558() { // fn#65558, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8355:504, offset: 0x01bd39b0, size: 98 bytes, params: 1, frame: 12 const Object = global.Object; let value = Object.values(linkedUsers); value = value.filter(_fun65559); value = value.sort(function(a0, a1) { var Date = global.Date; var value2 = new Date(a0.updated_at); value2 = value2.getTime(); Date = global.Date; var updated_at2 = a1.updated_at; var value3 = Object.create(Date.prototype, {constructor: {value: Date}}); var value4 = new Date(updated_at2); return value2 - (value4 instanceof Object ? value4 : value3).getTime(); }); value = value.map(function(a0) { return a0.user_id; }); return value.filter(function(a0) { return a0 != null; }); function _fun65559(a0) { // fn#65559, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8355:533, offset: 0x01bd3a12, size: 31 bytes, params: 2, frame: 3 var r0; var link_status; let value = a0 != null; if (value) { link_status = a0.link_status; value = environment.__proto__; value = link_status === env1_0; r0 = value; } else { r0 = value; } return r0; } } } function useUsersForLinkStatus(a0) { // fn#65564, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8355:721, offset: 0x01bd3aad, size: 93 bytes, params: 2, frame: 15 const env0_0 = useUserIdsForLinkStatus(a0); const useStateFromStoresArray = UseStateFromStoresModule.useStateFromStoresArray; return Reflect.apply(useStateFromStoresArray, UseStateFromStoresModule, [[UserStore], _fun65565]).filter(function(a0) { return a0 != null; }); function _fun65565() { // fn#65565, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8355:802, offset: 0x01bd3b0a, size: 28 bytes, params: 1, frame: 11 return env0_0.map(function(a0) { return UserStore.getUser(a0); }); } } function useHasActiveParentLinks() { // fn#65570, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8355:1318, offset: 0x01bd3b71, size: 93 bytes, params: 1, frame: 15 return ReactModule.useMemo(_fun65572, [(require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([FamilyCenterStore], function() { return FamilyCenterStore.getLinkedUsers(); })]); function _fun65572() { // fn#65572, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8355:1434, offset: 0x01bd3bce, size: 47 bytes, params: 1, frame: 11 const Object = global.Object; return Object.values(linkedUsers).some(_fun65573); function _fun65573(a0) { // fn#65573, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8355:1461, offset: 0x01bd3bfd, size: 63 bytes, params: 2, frame: 4 var r0; var link_status; var link_type; let value = a0 != null; if (value) { link_status = a0.link_status; value = environment.__proto__.__proto__; value = link_status === UserLinkStatus.ACTIVE; r0 = value; } else { r0 = value; } if (r0) { link_type = a0.link_type; value = environment.__proto__.__proto__; value = link_type === UserLinkType.PARENT; r0 = value; } return r0; } } } function useUserQRLinkUrl() { // fn#65574, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8355:1550, offset: 0x01bd3c3c, size: 133 bytes, params: 1, frame: 19 const linkCode = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([FamilyCenterStore], function() { return FamilyCenterStore.getLinkCode(); }); const currentUser = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([UserStore], function() { return UserStore.getCurrentUser(); }); const value2 = null; return value2 == linkCode || value2 == currentUser ? value2 : FAMILY_CENTER_REQUEST_QR_CODE_URL(currentUser.id, linkCode); } function usePendingRequestCount() { // fn#65578, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8355:1886, offset: 0x01bd3d11, size: 153 bytes, params: 1, frame: 19 var length; const currentUser = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([UserStore], function() { return UserStore.getCurrentUser(); }); const linkedUsers = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([FamilyCenterStore], function() { return FamilyCenterStore.getLinkedUsers(); }); let value = 0; if (currentUser == null) { length = value; } else { value = global.Object.values(linkedUsers); length = value.filter(_fun65581).length; } return length; function _fun65581(a0) { // fn#65581, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8355:2084, offset: 0x01bd3daa, size: 64 bytes, params: 2, frame: 4 var r0; var link_status; let value = a0 != null; if (value) { link_status = a0.link_status; value = environment.__proto__; value = link_status === UserLinkStatus.PENDING; r0 = value; } else { r0 = value; } r0 = r0 && currentUser.id !== a0.requestor_id; return r0; } } function useActivityWindowTimeStamp(a0) { // fn#65583, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8355:2285, offset: 0x01bd3dfe, size: 182 bytes, params: 2, frame: 18 var r0; var formatUserActivityTimestamp; var Date; var value4; var date; const env0_0 = a0; var value; const env0_1 = (UseSelectedTeenModule).useSelectedTeenId(); const value2 = (UseStateFromStoresModule).useStateFromStores([FamilyCenterStore], _fun65584); const value3 = null; if (value3 == value2) { r0 = value3; } else { value = require(5187) /* metro dependency 5187: FamilyCenterUtils */; formatUserActivityTimestamp = value.formatUserActivityTimestamp; Date = global.Date; value4 = Object.create(Date.prototype, {constructor: {value: Date}}); date = new Date(value2); value = Reflect.apply(formatUserActivityTimestamp, value, [(date instanceof Object ? date : value4).getTime(), _fun65585, 7]); r0 = value; } return r0; function _fun65584() { // fn#65584, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8355:2392, offset: 0x01bd3eb4, size: 37 bytes, params: 1, frame: 10 var r0; let value = null; if (value == env0_1) { r0 = value; } else { value = environment.__proto__; value = FamilyCenterStore.getRangeStartTimestamp(); r0 = value; } return r0; } function _fun65585() { // fn#65585, offset: 0x00c36f09, size: 9 bytes, params: 1, frame: 1 return env0_0; } } function useLinkTimestampText(a0, a1) { // fn#65586, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8355:2551, offset: 0x01bd3ed9, size: 153 bytes, params: 3, frame: 16 var r0; var moduleValue2; const env0_0 = a0; const linkTimestamp = (UseStateFromStoresModule).useStateFromStores([FamilyCenterStore], _fun65587); const value2 = null; if (value2 != linkTimestamp) { moduleValue2 = require(5187) /* metro dependency 5187: FamilyCenterUtils */; r0 = moduleValue2.formatLinkTimestamp(global.Date.parse(linkTimestamp), a1 === UserLinkStatus.PENDING ? PENDING_LINK_REQUEST_TIMESTAMP_FORMATTER : ACCEPTED_LINK_REQUEST_TIMESTAMP_FORMATTER); } else { r0 = value2; } return r0; function _fun65587() { // fn#65587, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8355:2624, offset: 0x01bd3f72, size: 29 bytes, params: 1, frame: 11 return FamilyCenterStore.getLinkTimestamp(env0_0); } } } global.__d(_fun65555, 8170, [31, 1878, 5116, 5117, 632, 8171, 8172, 5187, 2]) /* metro module 8170, dependencies: [31, 1878, 5116, 5117, 632, 8171, 8172, 5187, 2] */;