/* Metro module 9483; source: modules/quests/hooks/QuestHooks.tsx; dependencies: [5, 57, 31, 1949, 1379, 5040, 1878, 7092, 7094, 7093, 6528, 661, 1880, 566, 9479, 9484, 477, 9493, 7108, 6531, 7091, 672, 7114, 7116, 7119, 9500, 22, 9511, 9503, 9513, 1948, 9520, 6535, 9522, 7120, 6777, 9524, 9505, 8461, 7121, 9525, 1244, 1856, 4242, 7110, 4048, 4002, 9495, 3802, 9526, 683, 1360, 9528, 9529, 9532, 3829, 9534, 9535, 2] */ import Module00005 from '../../../by-id/module-00005.js'; /* Metro dependency 5 */ import Module00057 from '../../../by-id/module-00057.js'; /* Metro dependency 57 */ import Durations from '../../../utils/Durations.tsx'; /* Metro dependency 672 */ import AnalyticsUtils from '../../../utils/AnalyticsUtils.tsx'; /* Metro dependency 683 */ import ChannelStore from '../../../stores/ChannelStore.tsx'; /* Metro dependency 1379 */ import UserStore from '../../../stores/UserStore.tsx'; /* Metro dependency 1878 */ import HelpdeskUtils from '../../../utils/HelpdeskUtils.tsx'; /* Metro dependency 1948 */ import LocaleStore from '../../user_settings/LocaleStore.tsx'; /* Metro dependency 1949 */ import UseTheme from '../../../hooks/useTheme.tsx'; /* Metro dependency 4048 */ import ConnectedAccountsStore from '../../../stores/ConnectedAccountsStore.tsx'; /* Metro dependency 5040 */ import UseGetOrFetchApplications from '../../applications/useGetOrFetchApplications.tsx'; /* Metro dependency 6777 */ import BountyStore from '../BountyStore.tsx'; /* Metro dependency 7092 */ import QuestStore from '../QuestStore.tsx'; /* Metro dependency 7093 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as Module00022Module from '../../../by-id/module-00022.js'; /* Metro dependency 22 */ import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as FluxModule from '../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import * as IndexNativeModule from '../../../intl/index.native.tsx'; /* Metro dependency 1244 */ import * as PremiumConstantsModule from '../../premium/PremiumConstants.tsx'; /* Metro dependency 1880 */ import * as PremiumUtilsModule from '../../../utils/PremiumUtils.tsx'; /* Metro dependency 3802 */ import * as UserSettingsModule from '../../user_settings/UserSettings.tsx'; /* Metro dependency 3829 */ import * as Module04242Module from '../../../by-id/module-04242.js'; /* Metro dependency 4242 */ import * as QuestConstantsModule from '../QuestConstants.tsx'; /* Metro dependency 6528 */ import * as QuestTypesModule from '../QuestTypes.tsx'; /* Metro dependency 6531 */ import * as FirstPartyQuestTaskTypesModule from '../../../external/discord_common/js/shared/shared-constants/FirstPartyQuestTaskTypes.tsx'; /* Metro dependency 6535 */ import * as QuestDataUtilsModule from '../utils/QuestDataUtils.tsx'; /* Metro dependency 7091 */ import * as ConsoleQuestUIStoreModule from '../ConsoleQuestUIStore.tsx'; /* Metro dependency 7094 */ import * as AnalyticsActionsModule from '../lib/analytics/AnalyticsActions.tsx'; /* Metro dependency 7110 */ import * as QuestUtilsModule from '../utils/QuestUtils.tsx'; /* Metro dependency 7114 */ import * as QuestTaskUtilsModule from '../utils/QuestTaskUtils.tsx'; /* Metro dependency 7116 */ import * as QuestTypeModule from '../../../external/discord_common/js/shared/shared-constants/QuestType.tsx'; /* Metro dependency 7119 */ import * as AnalyticsTypesModule from '../lib/analytics/AnalyticsTypes.tsx'; /* Metro dependency 7120 */ import * as AdCreativeTypeModule from '../../../external/discord_common/js/shared/shared-constants/AdCreativeType.tsx'; /* Metro dependency 7121 */ import * as UseFetchCollectiblesProductModule from '../../collectibles/hooks/useFetchCollectiblesProduct.tsx'; /* Metro dependency 8461 */ import * as QuestsEligibilityModule from '../lib/QuestsEligibility.tsx'; /* Metro dependency 9479 */ import * as QuestActionCreatorsModule from '../QuestActionCreators.tsx'; /* Metro dependency 9484 */ import * as AssetUtilsModule from '../lib/AssetUtils.tsx'; /* Metro dependency 9495 */ import * as QuestRewardUtilsModule from '../utils/QuestRewardUtils.tsx'; /* Metro dependency 9500 */ import * as QuestOrbMultiplierUtilsModule from '../utils/QuestOrbMultiplierUtils.tsx'; /* Metro dependency 9503 */ import * as QuestCopyUtilsModule from '../utils/QuestCopyUtils.tsx'; /* Metro dependency 9505 */ import * as ExperimentsModule from '../experiments/index.tsx'; /* Metro dependency 9511 */ import * as ContentImpressionTrackerHooksModule from '../lib/analytics/ContentImpressionTrackerHooks.tsx'; /* Metro dependency 9513 */ import * as QuestPlatformUtilsModule from '../utils/QuestPlatformUtils.tsx'; /* Metro dependency 9520 */ import * as VideoQuestUtilsModule from '../utils/VideoQuestUtils.tsx'; /* Metro dependency 9522 */ import * as QuestMatchingUtilsModule from '../utils/QuestMatchingUtils.tsx'; /* Metro dependency 9524 */ import * as QuestConsoleStartErrorModule from '../../../external/discord_common/js/shared/shared-constants/QuestConsoleStartError.tsx'; /* Metro dependency 9525 */ import * as QuestHomeBountiesExperimentModule from '../experiments/QuestHomeBountiesExperiment.tsx'; /* Metro dependency 9528 */ import * as UseVideoModalPlacementEnabledModule from './useVideoModalPlacementEnabled.tsx'; /* Metro dependency 9529 */ function _fun73746(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#73746, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:6, offset: 0x01d76b83, size: 1639 bytes, params: 8, frame: 41 let env0_0 = require; const _arrayLikeToArray_73749 = function(a0, a1) { var r0; var r1; var r2; var value3; var length; var value5; var value = undefined; var value2 = value == null; reducibleJoin2: while (true) { if (value2) { r0 = value2; break reducibleJoin2; } value3 = value > a0.length; r0 = value3; break reducibleJoin2; } reducibleJoin4: while (true) { if (r0) { length = a0.length; r1 = length; break reducibleJoin4; } r1 = value; break reducibleJoin4; } value = (0, global.Array)(r1); var value4 = 0; if (value4 < r1) { r2 = value4; reducibleLoop5: while (true) { value[r2] = a0[r2]; value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; if (value5 < r1) { r2 = value5; continue reducibleLoop5; } break reducibleLoop5; } } return value; }; const useQuests2 = useQuests; const doesQuestPassFilter = function(a0, a1, a2) { var env0_0 = a0; var env0_1 = a1 === 'task' ? doesQuestPassTaskFilter : a1 !== 'reward' ? undefined : doesQuestPassRewardFilter; return a2.length === 0 || a2.some(_fun73762); }; const sortQuests2 = sortQuests; const closure3 = function(a0) { var env0_0 = a0; return require(dependencyMap[13]).useStateFromStores([QuestStore], _fun73778, [a0]); }; const closure4 = function(a0) { var env0_0 = a0; return require(dependencyMap[13]).useStateFromStores([QuestStore], _fun73780); }; const useIsQuestProgressingOnConsole2 = useIsQuestProgressingOnConsole; const useIsQuestProgressingVideoQuest2 = useIsQuestProgressingVideoQuest; const useIsQuestProgressing2 = useIsQuestProgressing; const useThirdPartyTaskDetails2 = useThirdPartyTaskDetails; const useGetOrFetchApplicationForConsoleQuests2 = useGetOrFetchApplicationForConsoleQuests; const useConnectedAccounts2 = useConnectedAccounts; const useSelectedTaskPlatform2 = useSelectedTaskPlatform; const useTaskPlatformScreen2 = useTaskPlatformScreen; const useQuestHomeHeroShelf2 = useQuestHomeHeroShelf; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = QuestConstantsModule; const env0_13 = value.QuestTaskPlatform; const env0_14 = value.QuestsExperimentLocations; const env0_15 = value.MEMBER_LIST_SOCIAL_ENTRY_POINT_ALLOWED_TASK_TYPES; const env0_16 = value.QuestHomeSortMethods; const env0_17 = value.SORTED_QUEST_HOME_FILTER_GROUPS; const env0_18 = value.TaskFilterTypes; const env0_19 = value.RewardFilterTypes; const env0_20 = value.MOBILE_ORBS_INTRO_QUEST_ID; const env0_21 = value.ORBS_INTRO_QUEST_ID; value = require(661) /* metro dependency 661: Constants */; const env0_22 = value.HelpdeskArticles; const env0_23 = value.PlatformTypes; const env0_24 = value.ThemeTypes; const env0_25 = value.AnalyticEvents; const env0_28 = {}; const env0_29 = {'questHomeHero': null, 'isQuestHomeHeroShelfEnabled': false}; object = {DESC: 0}; object[0] = 'DESC'; object.ASC = 1; object[1] = 'ASC'; const useQuestTaskDetails2 = useQuestTaskDetails; const useWaitingForConsoleConnection2 = useWaitingForConsoleConnection; const object3 = {UNACCEPTED: 0}; object3[0] = 'UNACCEPTED'; object3.ACCEPTED = 1; object3[1] = 'ACCEPTED'; object3.IN_PROGRESS = 2; object3[2] = 'IN_PROGRESS'; object3.COMPLETED = 3; object3[3] = 'COMPLETED'; object3.CLAIMED = 4; object3[4] = 'CLAIMED'; const useIsPreviewerOnAnyQuest2 = useIsPreviewerOnAnyQuest; let Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis; const HOUR = Millis.HOUR; const env0_37 = 6 * HOUR; Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis; const env0_38 = Millis.MINUTE; (FileImportTrackerModule).fileFinishedImporting('modules/quests/hooks/QuestHooks.tsx'); exports.useQuests = useQuests2; exports.sortQuests = sortQuests2; exports.QuestTabs = {ALL: 'all', CLAIMED: 'claimed', PREVIEW_TOOL: 'preview_tool'}; exports.QuestQueryParams = {TAB: 'tab', QUEST_ID: 'quest_id', SORT: 'sort', FILTER: 'filter', AD_CREATIVE_IDS: 'ad_creative_ids'}; exports.useFilteredQuests = useFilteredQuests; exports.useClaimedQuests = useClaimedQuests; exports.useExpiredQuestsMap = function() { return require(dependencyMap[13]).useStateFromStores([QuestStore], _fun73850); }; exports.useShouldShowBonusOrbsUX = useShouldShowBonusOrbsUX; exports.useQuestOrbRewardMultiplier = function(a0) { var env0_0 = a0; return require(dependencyMap[13]).useStateFromStores([QuestStore], _fun73853, [a0]); }; exports.useIsQuestExpired = closure3; exports.useIsQuestEligibleForMembersListPopout = useIsQuestEligibleForMembersListPopout; exports.useQuestFormattedDate = useQuestFormattedDate; exports.useOnOpenGameClick = useOnOpenGameClick; exports.useIsQuestProgressingOnDesktop = closure4; exports.useIsQuestProgressingOnConsole = useIsQuestProgressingOnConsole2; exports.useIsQuestProgressingVideoQuest = useIsQuestProgressingVideoQuest2; exports.useIsQuestProgressing = useIsQuestProgressing2; exports.useQuestTaskDetails = useQuestTaskDetails2; exports.useThirdPartyTaskDetails = useThirdPartyTaskDetails2; exports.useConnectedConsoleLinkOnClick = useConnectedConsoleLinkOnClick; exports.useGetOrFetchApplicationForConsoleQuests = useGetOrFetchApplicationForConsoleQuests2; exports.useQuestForMemberListSocialEntryPoint = useQuestForMemberListSocialEntryPoint; exports.useQuestCollectibles = useQuestCollectibles; exports.useQuestPreviewActions = useQuestPreviewActions; exports.useConnectedAccounts = useConnectedAccounts2; exports.useManuallyStartConsoleQuest = useManuallyStartConsoleQuest; exports.useWaitingForConsoleConnection = useWaitingForConsoleConnection2; exports.useQuestHowToHelpArticle = useQuestHowToHelpArticle; exports.QuestProgressState = object3; exports.useProgressState = useProgressState; exports.useQuestCompletionDetails = useQuestCompletionDetails; exports.useSelectedTaskPlatform = useSelectedTaskPlatform2; exports.useTaskPlatformScreen = useTaskPlatformScreen2; exports.useQuestWarningTips = useQuestWarningTips; exports.useQuest = useQuest; exports.useNonNullableQuest = useNonNullableQuest; exports.useQuestBarOrDockModeChangeTracking = useQuestBarOrDockModeChangeTracking; exports.useCosponsoredLogotypeAsset = useCosponsoredLogotypeAsset; exports.useClaimedCollectibleRewardMessage = useClaimedCollectibleRewardMessage; exports.useLaunchInGameActivityQuest = useLaunchInGameActivityQuest; exports.useIsPreviewerOnAnyQuest = useIsPreviewerOnAnyQuest2; exports.useShouldShowPreviewToolTab = function() { return useIsPreviewerOnAnyQuest(); }; exports.useShouldShowQuestsActivityPanelItem = useShouldShowQuestsActivityPanelItem; exports.useQuestsWithPreviewAccess = useQuestsWithPreviewAccess; exports.useQuestHomeFilterOptions = useQuestHomeFilterOptions; exports.useQuestHomeSortOptions = useQuestHomeSortOptions; exports.useQuestHomeSortingFilteringAnalytics = useQuestHomeSortingFilteringAnalytics; exports.useShouldShowQuestPreviewOverrides = useShouldShowQuestPreviewOverrides; exports.useQuestHomeHeroShelf = useQuestHomeHeroShelf2; exports.useFetchQuestHomeBounties = useFetchQuestHomeBounties; exports.useQuestHomeBounties = function() { return require(dependencyMap[13]).useStateFromStoresObject([BountyStore], _fun73936); }; exports.useQuestBarImpressionSurvey = useQuestBarImpressionSurvey; function _createForOfIteratorHelperLoose_73747(a0, a1) { // fn#73747, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:611, offset: 0x01d771ea, size: 372 bytes, params: 3, frame: 20 var r6; var r9; var r5; var value3; var regexp; const env0_0 = a0; const Symbol = global.Symbol; let value = typeof Symbol !== 'undefined'; let r1 = value && a0[global.Symbol.iterator]; r1 = !r1 ? a0['@@iterator'] : r1; if (r1) { value = r1.call(a0); return value.next.bind(value); } const Array = global.Array; if (Array.isArray(a0)) { if (r1) { } return _fun73748; } value = undefined; if (a0) { if (typeof a0 === 'string') { value = _arrayLikeToArray_73749(a0, value); r5 = value; } else { value3 = ({}).toString.call(a0).slice(8, -1); r6 = value3 === 'Object' && a0.constructor; r9 = r6 ? a0.constructor.name : value3; if (r9 === 'Map') { r6 = global.Array.from(a0); } else if (r9 === 'Set') { r6 = global.Array.from(a0); } else if (r9 === 'Arguments') { value = _arrayLikeToArray_73749(a0, value); r6 = value; } else { regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', ''); if (regexp.test(r9)) { value = _arrayLikeToArray_73749(a0, value); r6 = value; } else { r6 = value; } } r5 = r6; } } else { r5 = value; } if (r5) { if (r5) { } return _fun73748; } const TypeError = global.TypeError; throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'); function _fun73748() { // fn#73748, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:1182, offset: 0x00c39d73, size: 69 bytes, params: 1, frame: 5 return env0_1 >= env0_0.length ? {done: true} : {done: false, value: env0_0[typeof env0_1 === 'bigint' ? env0_1 : +env0_1]}; } } function useQuests() { // fn#73750, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:1530, offset: 0x01d7735e, size: 365 bytes, params: 1, frame: 22 const value = a0; const r8 = value !== undefined ? value : {'fetchPolicy': 'cache-only', 'callerSource': 'unknown'}; const [property, env0_2] = undefined(undefined.useState(false), 2); const value4 = (require(566) /* metro dependency 566: flux */).useStateFromStoresArray([QuestStore], _fun73751); const value5 = (require(566) /* metro dependency 566: flux */).useStateFromStoresArray([QuestStore], _fun73752); const {isFetchingCurrentQuests, lastFetchedCurrentQuests} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([QuestStore], function() { return {isFetchingCurrentQuests: QuestStore.isFetchingCurrentQuests, lastFetchedCurrentQuests: QuestStore.lastFetchedCurrentQuests}; }); const isEligibleForQuests = (QuestsEligibilityModule).getIsEligibleForQuests(); isEligibleForQuests.useEffect(_fun73754, [r8.fetchPolicy, isEligibleForQuests, property, isFetchingCurrentQuests, lastFetchedCurrentQuests, r8.callerSource]); return {quests: value4, excludedQuests: value5, isFetchingCurrentQuests: isFetchingCurrentQuests, hasFetched: property}; function _fun73751() { // fn#73751, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:1687, offset: 0x01d774cb, size: 37 bytes, params: 1, frame: 13 let value = environment.__proto__; value = QuestStore.quests.values(); const items2 = []; arraySpread(items2, value, 0, undefined); return items2; } function _fun73752() { // fn#73752, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:1757, offset: 0x01d774f0, size: 37 bytes, params: 1, frame: 13 let value = environment.__proto__; value = QuestStore.excludedQuests.values(); const items2 = []; arraySpread(items2, value, 0, undefined); return items2; } function _fun73754() { // fn#73754, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:2062, offset: 0x01d7753a, size: 373 bytes, params: 1, frame: 17 var value2; var moduleValue2; var defaultImport2; var moduleValue3; const QuestPlacement = (QuestTypesModule).QuestPlacement; let fetchPolicy = env0_0.fetchPolicy; if (fetchPolicy !== 'cache-only') { fetchPolicy = env0_0.fetchPolicy; if (fetchPolicy === 'cache-and-network') { if (ReactModule) { if (env0_1) { return undefined; } if (isFetchingCurrentQuests) { return undefined; } env0_2(true); value2 = environment.__proto__; (require(9484) /* metro dependency 9484: QuestActionCreators */).fetchCurrentQuests(); moduleValue2 = require(477) /* metro dependency 477: PlatformUtils */; if (moduleValue2.isMac()) { if ((importDefault(9493) /* metro dependency 9493: DiscordAppStateNative */).getState() !== 'focused') { return undefined; } defaultImport2 = importDefault(7108) /* metro dependency 7108: NewAdRequestBehaviorExperiment */; if (defaultImport2.getConfig({location: 'QuestHookUseQuests'}).enableNewRequestBehavior) { return undefined; } moduleValue3 = require(9484) /* metro dependency 9484: QuestActionCreators */; moduleValue3.fetchQuestToDeliver(QuestPlacement.MOBILE_HOME_DOCK_AREA, 'use_quests_' + env0_0.callerSource); return undefined; } defaultImport2 = importDefault(7108) /* metro dependency 7108: NewAdRequestBehaviorExperiment */; if (defaultImport2.getConfig({location: 'QuestHookUseQuests'}).enableNewRequestBehavior) { return undefined; } moduleValue3 = require(9484) /* metro dependency 9484: QuestActionCreators */; moduleValue3.fetchQuestToDeliver(QuestPlacement.MOBILE_HOME_DOCK_AREA, 'use_quests_' + env0_0.callerSource); return undefined; } return undefined; } fetchPolicy = env0_0.fetchPolicy; if (fetchPolicy !== 'cache-or-network') { return undefined; } if (lastFetchedCurrentQuests !== 0) { return undefined; } if (ReactModule) { if (env0_1) { return undefined; } if (isFetchingCurrentQuests) { return undefined; } env0_2(true); value2 = environment.__proto__; (require(9484) /* metro dependency 9484: QuestActionCreators */).fetchCurrentQuests(); moduleValue2 = require(477) /* metro dependency 477: PlatformUtils */; if (moduleValue2.isMac()) { if ((importDefault(9493) /* metro dependency 9493: DiscordAppStateNative */).getState() !== 'focused') { return undefined; } defaultImport2 = importDefault(7108) /* metro dependency 7108: NewAdRequestBehaviorExperiment */; if (defaultImport2.getConfig({location: 'QuestHookUseQuests'}).enableNewRequestBehavior) { return undefined; } moduleValue3 = require(9484) /* metro dependency 9484: QuestActionCreators */; moduleValue3.fetchQuestToDeliver(QuestPlacement.MOBILE_HOME_DOCK_AREA, 'use_quests_' + env0_0.callerSource); return undefined; } defaultImport2 = importDefault(7108) /* metro dependency 7108: NewAdRequestBehaviorExperiment */; if (defaultImport2.getConfig({location: 'QuestHookUseQuests'}).enableNewRequestBehavior) { return undefined; } moduleValue3 = require(9484) /* metro dependency 9484: QuestActionCreators */; moduleValue3.fetchQuestToDeliver(QuestPlacement.MOBILE_HOME_DOCK_AREA, 'use_quests_' + env0_0.callerSource); return undefined; } } } } function defaultSortFn(a0, a1, {questHomeHero, isQuestHomeHeroShelfEnabled}) { // fn#73755, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:2599, offset: 0x01d776af, size: 867 bytes, params: 4, frame: 28 var r13; var r0; var r3; var sortByDateBinding; var config; var expiresAt; var moduleValue4; var getQuestType; var value17; var moduleValue5; var value18; var hasWatchVideoOnMobileTasks2; var hasWatchVideoOnMobileTasks3; const QuestType = (QuestTypeModule).QuestType; const value2 = a0.id === MOBILE_ORBS_INTRO_QUEST_ID; const value3 = a1.id === MOBILE_ORBS_INTRO_QUEST_ID; const r2 = value2 && a0.userStatus?.completedAt == null; if (r2 !== (value3 && a1.userStatus?.completedAt == null)) { return r2 ? env0_27 : 1; } const isQuestExpired2 = (QuestDataUtilsModule).isQuestExpired(a0); let userStatus = a0.userStatus; const value9 = userStatus?.claimedAt != null; userStatus = a1.userStatus; const value10 = userStatus?.claimedAt != null; userStatus = a0.userStatus; const value11 = userStatus?.enrolledAt != null; userStatus = a1.userStatus; const value12 = userStatus?.enrolledAt != null; const Millis = (Durations).Millis; const MINUTE = Millis.MINUTE; const value13 = 30 * MINUTE; const hasEnrolledTimeLapsed2 = hasEnrolledTimeLapsed(a0, value13); const hasEnrolledTimeLapsed3 = hasEnrolledTimeLapsed(a1, value13); if (isQuestExpired2) { if (value9 !== value10) { r13 = value9 ? env0_27 : 1; } else if (value11 !== value12) { r13 = value11 ? env0_27 : 1; } else { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r13 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.DESC); } return r13; } if (questHomeHero == null) { moduleValue4 = require(7114) /* metro dependency 7114: QuestUtils */; getQuestType = moduleValue4.getQuestType; config = a0.config; value17 = Reflect.apply(getQuestType, moduleValue4, [config]); moduleValue5 = require(7114) /* metro dependency 7114: QuestUtils */; getQuestType = moduleValue5.getQuestType; config = a1.config; value18 = Reflect.apply(getQuestType, moduleValue5, [config]); } else { if (isQuestHomeHeroShelfEnabled) { moduleValue4 = require(7114) /* metro dependency 7114: QuestUtils */; getQuestType = moduleValue4.getQuestType; config = a0.config; value17 = Reflect.apply(getQuestType, moduleValue4, [config]); moduleValue5 = require(7114) /* metro dependency 7114: QuestUtils */; getQuestType = moduleValue5.getQuestType; config = a1.config; value18 = Reflect.apply(getQuestType, moduleValue5, [config]); hasWatchVideoOnMobileTasks2 = (require(7116) /* metro dependency 7116: QuestTaskUtils */).hasWatchVideoOnMobileTasks(a0); hasWatchVideoOnMobileTasks3 = (require(7116) /* metro dependency 7116: QuestTaskUtils */).hasWatchVideoOnMobileTasks(a1); if (hasWatchVideoOnMobileTasks2 === hasWatchVideoOnMobileTasks3) { if (value17 === value18) { if (hasEnrolledTimeLapsed2 === hasEnrolledTimeLapsed3) { if (value9 !== value10) { r3 = value9 ? 1 : env0_27; } else if (value11 !== value12) { r3 = value11 ? env0_27 : 1; } else { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r3 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.ASC); } } else if (hasEnrolledTimeLapsed2) { r3 = hasEnrolledTimeLapsed2 ? 1 : env0_27; } else if (hasEnrolledTimeLapsed3) { r3 = hasEnrolledTimeLapsed2 ? 1 : env0_27; } else if (value9 !== value10) { r3 = value9 ? 1 : env0_27; } else if (value11 !== value12) { r3 = value11 ? env0_27 : 1; } else { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r3 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.ASC); } r0 = r3; } else if (value17 === QuestType.VIDEO) { r0 = value17 !== QuestType.VIDEO ? 1 : env0_27; } else if (value18 !== QuestType.VIDEO) { if (hasEnrolledTimeLapsed2 === hasEnrolledTimeLapsed3) { if (value9 !== value10) { r3 = value9 ? 1 : env0_27; } else if (value11 !== value12) { r3 = value11 ? env0_27 : 1; } else { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r3 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.ASC); } } else if (hasEnrolledTimeLapsed2) { r3 = hasEnrolledTimeLapsed2 ? 1 : env0_27; } else if (hasEnrolledTimeLapsed3) { r3 = hasEnrolledTimeLapsed2 ? 1 : env0_27; } else if (value9 !== value10) { r3 = value9 ? 1 : env0_27; } else if (value11 !== value12) { r3 = value11 ? env0_27 : 1; } else { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r3 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.ASC); } r0 = r3; } else { r0 = value17 !== QuestType.VIDEO ? 1 : env0_27; } } else if (hasWatchVideoOnMobileTasks2) { r0 = hasWatchVideoOnMobileTasks2 ? env0_27 : 1; } else if (hasWatchVideoOnMobileTasks3) { r0 = hasWatchVideoOnMobileTasks2 ? env0_27 : 1; } else if (value17 === value18) { if (hasEnrolledTimeLapsed2 === hasEnrolledTimeLapsed3) { if (value9 !== value10) { r3 = value9 ? 1 : env0_27; } else if (value11 !== value12) { r3 = value11 ? env0_27 : 1; } else { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r3 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.ASC); } } else if (hasEnrolledTimeLapsed2) { r3 = hasEnrolledTimeLapsed2 ? 1 : env0_27; } else if (hasEnrolledTimeLapsed3) { r3 = hasEnrolledTimeLapsed2 ? 1 : env0_27; } else if (value9 !== value10) { r3 = value9 ? 1 : env0_27; } else if (value11 !== value12) { r3 = value11 ? env0_27 : 1; } else { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r3 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.ASC); } r0 = r3; } else if (value17 === QuestType.VIDEO) { r0 = value17 !== QuestType.VIDEO ? 1 : env0_27; } else if (value18 !== QuestType.VIDEO) { if (hasEnrolledTimeLapsed2 === hasEnrolledTimeLapsed3) { if (value9 !== value10) { r3 = value9 ? 1 : env0_27; } else if (value11 !== value12) { r3 = value11 ? env0_27 : 1; } else { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r3 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.ASC); } } else if (hasEnrolledTimeLapsed2) { r3 = hasEnrolledTimeLapsed2 ? 1 : env0_27; } else if (hasEnrolledTimeLapsed3) { r3 = hasEnrolledTimeLapsed2 ? 1 : env0_27; } else if (value9 !== value10) { r3 = value9 ? 1 : env0_27; } else if (value11 !== value12) { r3 = value11 ? env0_27 : 1; } else { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r3 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.ASC); } r0 = r3; } else { r0 = value17 !== QuestType.VIDEO ? 1 : env0_27; } return r0; } var moduleValue2 = require(7114) /* metro dependency 7114: QuestUtils */; var isQuestFeaturedByHero2 = moduleValue2.isQuestFeaturedByHero(questHomeHero, a0.id); var moduleValue3 = require(7114) /* metro dependency 7114: QuestUtils */; var isQuestFeaturedByHero3 = moduleValue3.isQuestFeaturedByHero(questHomeHero, a1.id); if (isQuestFeaturedByHero2) { return isQuestFeaturedByHero2 ? env0_27 : 1; } if (isQuestFeaturedByHero3) { return isQuestFeaturedByHero2 ? env0_27 : 1; } moduleValue4 = require(7114) /* metro dependency 7114: QuestUtils */; value17 = moduleValue4.getQuestType(a0.config); moduleValue5 = require(7114) /* metro dependency 7114: QuestUtils */; value18 = moduleValue5.getQuestType(a1.config); } hasWatchVideoOnMobileTasks2 = (require(7116) /* metro dependency 7116: QuestTaskUtils */).hasWatchVideoOnMobileTasks(a0); hasWatchVideoOnMobileTasks3 = (require(7116) /* metro dependency 7116: QuestTaskUtils */).hasWatchVideoOnMobileTasks(a1); if (hasWatchVideoOnMobileTasks2 === hasWatchVideoOnMobileTasks3) { if (value17 === value18) { if (hasEnrolledTimeLapsed2 === hasEnrolledTimeLapsed3) { if (value9 !== value10) { r3 = value9 ? 1 : env0_27; } else if (value11 !== value12) { r3 = value11 ? env0_27 : 1; } else { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r3 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.ASC); } } else if (hasEnrolledTimeLapsed2) { r3 = hasEnrolledTimeLapsed2 ? 1 : env0_27; } else if (hasEnrolledTimeLapsed3) { r3 = hasEnrolledTimeLapsed2 ? 1 : env0_27; } else if (value9 !== value10) { r3 = value9 ? 1 : env0_27; } else if (value11 !== value12) { r3 = value11 ? env0_27 : 1; } else { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r3 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.ASC); } r0 = r3; } else if (value17 === QuestType.VIDEO) { r0 = value17 !== QuestType.VIDEO ? 1 : env0_27; } else if (value18 !== QuestType.VIDEO) { if (hasEnrolledTimeLapsed2 === hasEnrolledTimeLapsed3) { if (value9 !== value10) { r3 = value9 ? 1 : env0_27; } else if (value11 !== value12) { r3 = value11 ? env0_27 : 1; } else { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r3 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.ASC); } } else if (hasEnrolledTimeLapsed2) { r3 = hasEnrolledTimeLapsed2 ? 1 : env0_27; } else if (hasEnrolledTimeLapsed3) { r3 = hasEnrolledTimeLapsed2 ? 1 : env0_27; } else if (value9 !== value10) { r3 = value9 ? 1 : env0_27; } else if (value11 !== value12) { r3 = value11 ? env0_27 : 1; } else { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r3 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.ASC); } r0 = r3; } else { r0 = value17 !== QuestType.VIDEO ? 1 : env0_27; } } else if (hasWatchVideoOnMobileTasks2) { r0 = hasWatchVideoOnMobileTasks2 ? env0_27 : 1; } else if (hasWatchVideoOnMobileTasks3) { r0 = hasWatchVideoOnMobileTasks2 ? env0_27 : 1; } else if (value17 === value18) { if (hasEnrolledTimeLapsed2 === hasEnrolledTimeLapsed3) { if (value9 !== value10) { r3 = value9 ? 1 : env0_27; } else if (value11 !== value12) { r3 = value11 ? env0_27 : 1; } else { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r3 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.ASC); } } else if (hasEnrolledTimeLapsed2) { r3 = hasEnrolledTimeLapsed2 ? 1 : env0_27; } else if (hasEnrolledTimeLapsed3) { r3 = hasEnrolledTimeLapsed2 ? 1 : env0_27; } else if (value9 !== value10) { r3 = value9 ? 1 : env0_27; } else if (value11 !== value12) { r3 = value11 ? env0_27 : 1; } else { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r3 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.ASC); } r0 = r3; } else if (value17 === QuestType.VIDEO) { r0 = value17 !== QuestType.VIDEO ? 1 : env0_27; } else if (value18 !== QuestType.VIDEO) { if (hasEnrolledTimeLapsed2 === hasEnrolledTimeLapsed3) { if (value9 !== value10) { r3 = value9 ? 1 : env0_27; } else if (value11 !== value12) { r3 = value11 ? env0_27 : 1; } else { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r3 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.ASC); } } else if (hasEnrolledTimeLapsed2) { r3 = hasEnrolledTimeLapsed2 ? 1 : env0_27; } else if (hasEnrolledTimeLapsed3) { r3 = hasEnrolledTimeLapsed2 ? 1 : env0_27; } else if (value9 !== value10) { r3 = value9 ? 1 : env0_27; } else if (value11 !== value12) { r3 = value11 ? env0_27 : 1; } else { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r3 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.ASC); } r0 = r3; } else { r0 = value17 !== QuestType.VIDEO ? 1 : env0_27; } return r0; } function recentSortFn({config}, {config}) { // fn#73756, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:3792, offset: 0x01d77a12, size: 58 bytes, params: 3, frame: 15 const sortByDateBinding = sortByDate; const startsAt = config.startsAt; const startsAt2 = config.startsAt; const DESC = env0_30.DESC; return sortByDateBinding(startsAt, startsAt2, DESC); } function recentlyEnrolledSortFn(a0, a1) { // fn#73757, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:3881, offset: 0x01d77a4c, size: 167 bytes, params: 3, frame: 18 var r0; var sortByDateBinding; var config; var expiresAt; let userStatus = a0.userStatus; const value = undefined; const enrolledAt = userStatus == null ? value : userStatus.enrolledAt; userStatus = a1.userStatus; const enrolledAt2 = userStatus == null ? value : userStatus.enrolledAt; if (enrolledAt != null) { r0 = enrolledAt == null ? enrolledAt != null ? sortByDate(enrolledAt, enrolledAt2, env0_30.DESC) : enrolledAt2 != null ? 1 : sortByDate(enrolledAt, enrolledAt2, env0_30.DESC) : enrolledAt2 == null ? env0_27 : enrolledAt != null ? sortByDate(enrolledAt, enrolledAt2, env0_30.DESC) : enrolledAt2 != null ? 1 : sortByDate(enrolledAt, enrolledAt2, env0_30.DESC); } else if (enrolledAt2 == null) { sortByDateBinding = sortByDate; config = a0.config; expiresAt = config.expiresAt; config = a1.config; r0 = sortByDateBinding(expiresAt, config.expiresAt, env0_30.DESC); } else { r0 = enrolledAt == null ? enrolledAt != null ? sortByDate(enrolledAt, enrolledAt2, env0_30.DESC) : enrolledAt2 != null ? 1 : sortByDate(enrolledAt, enrolledAt2, env0_30.DESC) : enrolledAt2 == null ? env0_27 : enrolledAt != null ? sortByDate(enrolledAt, enrolledAt2, env0_30.DESC) : enrolledAt2 != null ? 1 : sortByDate(enrolledAt, enrolledAt2, env0_30.DESC); } return r0; } function expiringSoonSortFn({config}, {config}) { // fn#73758, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:4158, offset: 0x01d77af3, size: 58 bytes, params: 3, frame: 15 const sortByDateBinding = sortByDate; const expiresAt = config.expiresAt; const expiresAt2 = config.expiresAt; const ASC = env0_30.ASC; return sortByDateBinding(expiresAt, expiresAt2, ASC); } function doesQuestPassTaskFilter(a0, a1) { // fn#73759, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:4254, offset: 0x01d77b2d, size: 252 bytes, params: 3, frame: 17 var r1; var value; const VIDEO = TaskFilterTypes.VIDEO; if (VIDEO === a1) { return (require(7116) /* metro dependency 7116: QuestTaskUtils */).hasWatchVideoTasks(a0); } const PLAY = TaskFilterTypes.PLAY; if (PLAY === a1) { r1 = (require(7116) /* metro dependency 7116: QuestTaskUtils */).hasPlayOnDesktopTask({quest: a0}) || (require(7116) /* metro dependency 7116: QuestTaskUtils */).hasStreamOnDesktopTask({quest: a0}); r1 = !r1 ? (require(7116) /* metro dependency 7116: QuestTaskUtils */).hasPlayActivityTask(a0) : r1; r1 = !r1 ? (require(7116) /* metro dependency 7116: QuestTaskUtils */).isConsoleQuest(a0) : r1; if (!r1) { value = require(7116) /* metro dependency 7116: QuestTaskUtils */; value = value.isInGameQuest(a0); r1 = value; } return r1; } return false; } function doesQuestPassRewardFilter(a0, a1) { // fn#73760, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:4569, offset: 0x01d77c29, size: 218 bytes, params: 3, frame: 15 var r2; var moduleValue; var hasInGameQuestReward2; var value; const VIRTUAL_CURRENCY = RewardFilterTypes.VIRTUAL_CURRENCY; if (VIRTUAL_CURRENCY === a1) { value = require(9500) /* metro dependency 9500: QuestRewardUtils */; return value.hasVirtualCurrencyReward(a0.config); } const COLLECTIBLE = RewardFilterTypes.COLLECTIBLE; if (COLLECTIBLE === a1) { value = require(9500) /* metro dependency 9500: QuestRewardUtils */; return value.hasCollectiblesQuestReward(a0.config); } const IN_GAME = RewardFilterTypes.IN_GAME; if (IN_GAME === a1) { moduleValue = require(9500) /* metro dependency 9500: QuestRewardUtils */; hasInGameQuestReward2 = moduleValue.hasInGameQuestReward(a0.config); if (hasInGameQuestReward2) { r2 = hasInGameQuestReward2; } else { value = require(9500) /* metro dependency 9500: QuestRewardUtils */; value = value.hasQuestRewardCode(a0.config); r2 = value; } return r2; } return false; } function doesQuestPassFilter(a0, a1, a2) { // fn#73761, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:4889, offset: 0x01d77d03, size: 87 bytes, params: 4, frame: 13 const env0_0 = a0; const r0 = a1 === 'task' ? doesQuestPassTaskFilter : a1 !== 'reward' ? undefined : doesQuestPassRewardFilter; return a2.length === 0 || a2.some(_fun73762); function _fun73762({filter}) { // fn#73762, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:5099, offset: 0x01d77d5a, size: 29 bytes, params: 2, frame: 13 return env0_1(env0_0, filter); } } function sortQuests(a0) { // fn#73763, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:5181, offset: 0x01d77d77, size: 186 bytes, params: 2, frame: 18 var r2; let value = a0; const value2 = a1; const value3 = a2; let r1 = value2 !== undefined ? value2 : env0_28; const r4 = value3 !== undefined ? value3 : env0_29; const sortMethod = r1.sortMethod; const filters = r1.filters; if (filters == null) { r2 = value; } else if (filters.length === 0) { r2 = value; } else { value = filterQuests(value, filters); r2 = value; } const MOST_RECENT = QuestHomeSortMethods.MOST_RECENT; if (MOST_RECENT === sortMethod) { r1 = recentSortFn; } else if (QuestHomeSortMethods.RECENTLY_ENROLLED === sortMethod) { r1 = recentlyEnrolledSortFn; } else if (QuestHomeSortMethods.EXPIRING_SOON === sortMethod) { r1 = expiringSoonSortFn; } else { QuestHomeSortMethods.SUGGESTED; r1 = defaultSortFn; } return r2.sort(((a0, a1) => { var env0_0 = a0; var env0_1 = a1; return _fun73768; })(r1, r4)); function filterQuests(a0, a1) { // fn#73764, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:5269, owner: sortQuests.filterQuests, offset: 0x01d77e31, size: 85 bytes, params: 3, frame: 15 var environment; if (a1.length === 0) { return a0; } const value = environment.__proto__; const env0_0 = (Module00022Module).groupBy(a1, 'group'); return a0.filter(_fun73765); function _fun73765(a0) { // fn#73765, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:5373, offset: 0x01d77e86, size: 55 bytes, params: 2, frame: 12 const env0_0 = a0; const Object = global.Object; return Object.entries(env0_0).every(_fun73766); function _fun73766(a0) { // fn#73766, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:5401, offset: 0x01d77ebd, size: 86 bytes, params: 2, frame: 18 var r0; var r1; var r2; var item3; var value3; const iterator = a0[Symbol.iterator](); const iterator2 = iterator.next; let item2 = Reflect.apply(iterator2, iterator, []); let item = item2.value; item2 = item2.done ? undefined : iterator; const value = undefined; const value2 = item2 === value; const r3 = value2 ? value : item; if (value2) { r0 = item2; r1 = value2; r2 = value; } else { item3 = Reflect.apply(iterator2, item2, []); item = item3.value; item3 = item3.done ? undefined : item2; value3 = item3 === value; if (value3) { r0 = item3; r1 = value3; r2 = value; } else { r0 = item3; r1 = value3; r2 = item; } } if (!r1) { r0.return(); } return doesQuestPassFilter(env0_0, r3, r2); } } } function prioritizeLiveQuests(a0, a1) { // fn#73767, owner: sortQuests.prioritizeLiveQuests, offset: 0x01d77f13, size: 25 bytes, params: 3, frame: 2 const env0_0 = a0; const env0_1 = a1; return _fun73768; function _fun73768(a0, a1) { // fn#73768, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:5491, offset: 0x01d77f2c, size: 107 bytes, params: 3, frame: 19 const value = environment.__proto__.__proto__; const isQuestExpired2 = QuestDataUtilsModule.isQuestExpired(a0); return !isQuestExpired2 !== !QuestDataUtilsModule.isQuestExpired(a1) ? isQuestExpired2 ? 1 : env2_27 : env0_0(a0, a1, require); } } } function sortByDate(a0, a1, a2) { // fn#73769, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:5912, offset: 0x01d77f97, size: 50 bytes, params: 4, frame: 13 const DESC = env0_30.DESC; return a0.localeCompare(a1) * (a2 !== DESC ? 1 : env0_27); } function useAllQuests(a0, a1) { // fn#73770, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:5988, offset: 0x01d77fc9, size: 184 bytes, params: 3, frame: 17 const env0_0 = a0; const env0_1 = a1; const value = useSortMetadata(); const env0_3 = env0_5Binding.useRef([]); const env0_4 = env0_5Binding.useRef(a1.sortMethod); var env0_5Binding = ReactModule.useRef(a1.filters); const env0_6 = env0_5Binding.useRef(0); const env0_7 = env0_5Binding.useRef(value); return env0_5Binding.useMemo(_fun73774, [a0, a1, value]); function useSortMetadata() { // fn#73771, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:6021, owner: useAllQuests.useSortMetadata, offset: 0x01d78081, size: 147 bytes, params: 1, frame: 18 const value3 = (require(566) /* metro dependency 566: flux */).useStateFromStores([QuestStore], function() { return null; }, [(require(9511) /* metro dependency 9511: experiments */).useShouldRemoveQuestHomeHero()]); return env1_5.useMemo(_fun73773, [value3, useQuestHomeHeroShelf(value3).isShelfEnabled]); function _fun73773() { // fn#73773, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:6206, offset: 0x01d78114, size: 25 bytes, params: 1, frame: 3 return {questHomeHero: env0_0, isQuestHomeHeroShelfEnabled: isShelfEnabled}; } } function _fun73774() { // fn#73774, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:6379, offset: 0x01d7812d, size: 257 bytes, params: 1, frame: 17 var environment; var sortMethod; var filters; var value2; var sortQuestsBinding; var binding; var binding2; var value4; var binding3; var binding4; var binding5; let length = env0_0.length; if (length === 0) { return []; } let current = env0_3.current; length = current.length; if (length > 0) { current = env0_6.current; length = env0_0.length; if (current !== length) { value2 = environment.__proto__; sortQuestsBinding = sortQuests; binding = env0_0; binding2 = env0_2; value4 = sortQuestsBinding(binding, require, binding2).map(function(a0) { return a0.id; }); env0_3.current = value4; env0_4.current = require.sortMethod; ReactModule.current = require.filters; env0_6.current = binding.length; env0_7.current = binding2; return value4; } current = env0_4.current; sortMethod = require.sortMethod; if (current !== sortMethod) { value2 = environment.__proto__; sortQuestsBinding = sortQuests; binding = env0_0; binding2 = env0_2; value4 = sortQuestsBinding(binding, require, binding2).map(_fun73775); env0_3.current = value4; env0_4.current = require.sortMethod; ReactModule.current = require.filters; env0_6.current = binding.length; env0_7.current = binding2; return value4; } current = ReactModule.current; filters = require.filters; if (current !== filters) { value2 = environment.__proto__; sortQuestsBinding = sortQuests; binding = env0_0; binding2 = env0_2; value4 = sortQuestsBinding(binding, require, binding2).map(_fun73775); env0_3.current = value4; env0_4.current = require.sortMethod; ReactModule.current = require.filters; env0_6.current = binding.length; env0_7.current = binding2; return value4; } current = env0_7.current; if (current === env0_2) { return env0_3.current; } value2 = environment.__proto__; sortQuestsBinding = sortQuests; binding = env0_0; binding2 = env0_2; value4 = sortQuestsBinding(binding, require, binding2).map(_fun73775); env0_3.current = value4; binding3 = env0_4; sortMethod = require.sortMethod; binding3.current = sortMethod; binding4 = ReactModule; filters = require.filters; binding4.current = filters; binding5 = env0_6; length = binding.length; binding5.current = length; } else { sortQuestsBinding = sortQuests; binding = env0_0; binding2 = env0_2; value4 = sortQuestsBinding(binding, require, binding2).map(function(a0) { return a0.id; }); env0_3.current = value4; env0_4.current = require.sortMethod; ReactModule.current = require.filters; env0_6.current = binding.length; } env0_7.current = binding2; return value4; } } function isQuestHiddenFromQuestHome(a0) { // fn#73776, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:6903, offset: 0x01d7822e, size: 81 bytes, params: 2, frame: 14 var r0; var value; const isQuestExpired2 = (require(7091) /* metro dependency 7091: QuestDataUtils */).isQuestExpired(a0); if (isQuestExpired2) { value = require(7091) /* metro dependency 7091: QuestDataUtils */; value = !value.hasUnclaimedReward(a0.userStatus); r0 = value; } else { r0 = isQuestExpired2; } return r0; } function useIsQuestExpired(a0) { // fn#73777, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:7022, offset: 0x01d7827f, size: 75 bytes, params: 2, frame: 16 const env0_0 = a0; return (FluxModule).useStateFromStores([QuestStore], _fun73778, [a0]); function _fun73778() { // fn#73778, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:7093, offset: 0x01d782ca, size: 45 bytes, params: 1, frame: 12 return env0_0 != null && QuestStore.isQuestExpired(env0_0.id); } } function useIsQuestProgressingOnDesktop(a0) { // fn#73779, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:7135, offset: 0x01d782f7, size: 66 bytes, params: 2, frame: 14 const env0_0 = a0; return (FluxModule).useStateFromStores([QuestStore], _fun73780); function _fun73780() { // fn#73780, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:7219, offset: 0x01d78339, size: 32 bytes, params: 1, frame: 11 const questStoreBinding = QuestStore; return questStoreBinding.isProgressingOnDesktop(env0_0.id); } } function useIsQuestProgressingOnConsole(a0) { // fn#73781, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:7256, offset: 0x01d78359, size: 44 bytes, params: 2, frame: 14 const env0_0 = a0; return ReactModule.useMemo(_fun73782, [a0]); function _fun73782() { // fn#73782, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:7317, offset: 0x01d78385, size: 45 bytes, params: 1, frame: 11 const value = environment.__proto__; return (QuestTaskUtilsModule).isQuestProgressingOnConsole(env0_0); } } function useIsQuestProgressingVideoQuest(a0) { // fn#73783, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:7368, offset: 0x01d783b2, size: 100 bytes, params: 2, frame: 16 const env0_0 = a0; return ReactModule.useMemo(_fun73785, [a0, (FluxModule).useStateFromStores([QuestStore], _fun73784)]); function _fun73784() { // fn#73784, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:7452, offset: 0x01d78416, size: 67 bytes, params: 1, frame: 15 const questStoreBinding = QuestStore; const getOptimisticProgress = questStoreBinding.getOptimisticProgress; const id = env0_0.id; const FirstPartyQuestTaskTypes = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes; const WATCH_VIDEO = FirstPartyQuestTaskTypes.WATCH_VIDEO; return Reflect.apply(getOptimisticProgress, questStoreBinding, [id, WATCH_VIDEO]); } function _fun73785() { // fn#73785, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:7553, offset: 0x01d78459, size: 45 bytes, params: 1, frame: 11 const value = environment.__proto__; return (VideoQuestUtilsModule).isVideoQuestProgressing(env0_0); } } function useIsQuestProgressing(a0) { // fn#73786, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:7602, offset: 0x01d78486, size: 49 bytes, params: 2, frame: 13 const value2 = useIsQuestProgressingOnDesktop(a0); const value3 = useIsQuestProgressingOnConsole(a0); const value = useIsQuestProgressingVideoQuest(a0); let r0 = value2 || value3; r0 = !r0 ? value : r0; return r0; } function useThirdPartyTaskDetails(a0) { // fn#73787, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:8269, offset: 0x01d784b7, size: 44 bytes, params: 2, frame: 14 const env0_0 = a0; return ReactModule.useMemo(_fun73788, [a0]); function _fun73788() { // fn#73788, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:8324, offset: 0x01d784e3, size: 45 bytes, params: 1, frame: 11 const value = environment.__proto__; return (QuestTaskUtilsModule).getThirdPartyTaskDetails(env0_0); } } function useGetOrFetchApplicationForConsoleQuests(a0) { // fn#73789, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:8372, offset: 0x01d78510, size: 71 bytes, params: 2, frame: 15 const env0_0 = a0; return (UseGetOrFetchApplications)(ReactModule.useMemo(_fun73790, [a0])); function _fun73790() { // fn#73790, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:8442, offset: 0x01d78557, size: 146 bytes, params: 1, frame: 19 var r3; var value6; var moduleValue; var consoleApplicationId; var value8; const Set = global.Set; const set = new Set(); const value4 = _createForOfIteratorHelperLoose_73747(env0_0); const value5 = value4(); let done = value5.done; if (!done) { r3 = value5; while (true) { value6 = r3.value; moduleValue = require(7116) /* metro dependency 7116: QuestTaskUtils */; consoleApplicationId = moduleValue.getConsoleApplicationId(value6); if (consoleApplicationId != null) { set.add(consoleApplicationId); } value8 = value4(); done = value8.done; if (done) { break; } r3 = value8; continue; } } const Array = global.Array; return Array.from(set); } } function useConnectedAccounts() { // fn#73791, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:8638, offset: 0x01d785e9, size: 146 bytes, params: 1, frame: 15 const {fetching, accounts} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([ConnectedAccountsStore], function() { var object = {}; object.fetching = ConnectedAccountsStore.isFetching(); object.accounts = ConnectedAccountsStore.getAccounts(); return object; }); const value = ReactModule.useMemo(_fun73793, [accounts]); return {fetching: fetching, xboxAccounts: value.xboxAccounts, playstationAccounts: value.playstationAccounts, xboxAndPlaystationAccounts: value.xboxAndPlaystationAccounts}; function _fun73793() { // fn#73793, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:8814, offset: 0x01d786a8, size: 89 bytes, params: 1, frame: 12 var value; const value2 = accounts.filter(function(a0) { return a0.revoked === false; }).filter(function({type}) { return type === PlatformTypes.XBOX; }); value = value.filter(function({type}) { return type === PlatformTypes.PLAYSTATION; }); return {xboxAccounts: value2, playstationAccounts: value, xboxAndPlaystationAccounts: value2.concat(value)}; } } function useSelectedTaskPlatform(a0) { // fn#73797, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:9531, offset: 0x01d78748, size: 108 bytes, params: 2, frame: 16 const env0_0 = a0; const useStateFromStores = FluxModule.useStateFromStores; let items2 = [QuestStore]; items2 = [Reflect.apply(useStateFromStores, FluxModule, [items2, _fun73798])]; const useCallback = ReactModule.useCallback; items2[1] = Reflect.apply(useCallback, ReactModule, [_fun73799, [a0]]); return items2; function _fun73798() { // fn#73798, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:9608, offset: 0x01d787b4, size: 29 bytes, params: 1, frame: 11 return QuestStore.selectedTaskPlatform(env0_0); } function _fun73799(a0) { // fn#73799, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:9655, offset: 0x01d787d1, size: 49 bytes, params: 2, frame: 13 const value = environment.__proto__; return (QuestActionCreatorsModule).selectTaskPlatform(env0_0, a0); } } function useTaskPlatformScreen(a0, a1) { // fn#73800, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:9699, offset: 0x01d78802, size: 293 bytes, params: 3, frame: 22 const env0_0 = a0; const env0_1 = a1; const value3 = Module00057(useSelectedTaskPlatform(a0.id), 2); const property = value3[0]; const property2 = value3[1]; let binding = env0_5; let useMemo = binding.useMemo; const value4 = Reflect.apply(useMemo, binding, [_fun73801, [a0]]); let includes = value4.includes; const DESKTOP = QuestTaskPlatform.DESKTOP; const value5 = Reflect.apply(includes, value4, [DESKTOP]); includes = value4.includes; const CONSOLE = QuestTaskPlatform.CONSOLE; const value6 = Reflect.apply(includes, value4, [CONSOLE]); const value7 = useIsQuestProgressingOnDesktop(a0); const value8 = useIsQuestProgressingOnConsole(a0); const value9 = env0_5.useMemo(_fun73802, [a1]); var env0_5 = value9; const r7 = value7 ? QuestTaskPlatform.DESKTOP : value8 ? QuestTaskPlatform.CONSOLE : null; binding = env0_5; useMemo = binding.useMemo; return [Reflect.apply(useMemo, binding, [_fun73813, [value6, value5, value9, r7, property]]), value4, property2]; function _fun73801() { // fn#73801, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:9807, offset: 0x01d78927, size: 45 bytes, params: 1, frame: 11 const value = environment.__proto__; return (QuestPlatformUtilsModule).supportedTaskPlatforms(env0_0); } function _fun73802() { // fn#73802, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:9986, offset: 0x01d78954, size: 511 bytes, params: 1, frame: 18 var environment; let value = environment.__proto__; value = require(4242) /* metro dependency 4242 */; value = value.match(require); value = value.with({percentComplete: 0}, function() { return null; }); const FirstPartyQuestTaskTypes = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes; const PLAY_ON_DESKTOP = FirstPartyQuestTaskTypes.PLAY_ON_DESKTOP; value = value.with({taskType: PLAY_ON_DESKTOP}, function() { return QuestTaskPlatform.DESKTOP; }); const PLAY_ACTIVITY = FirstPartyQuestTaskTypes.PLAY_ACTIVITY; value = value.with({taskType: PLAY_ACTIVITY}, function() { return QuestTaskPlatform.DESKTOP; }); const WATCH_VIDEO = FirstPartyQuestTaskTypes.WATCH_VIDEO; value = value.with({taskType: WATCH_VIDEO}, function() { return QuestTaskPlatform.DESKTOP; }); const WATCH_VIDEO_ON_MOBILE = FirstPartyQuestTaskTypes.WATCH_VIDEO_ON_MOBILE; value = value.with({taskType: WATCH_VIDEO_ON_MOBILE}, function() { return QuestTaskPlatform.DESKTOP; }); const STREAM_ON_DESKTOP = FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP; value = value.with({taskType: STREAM_ON_DESKTOP}, function() { return QuestTaskPlatform.DESKTOP; }); const PLAY_ON_XBOX = FirstPartyQuestTaskTypes.PLAY_ON_XBOX; value = value.with({taskType: PLAY_ON_XBOX}, function() { return QuestTaskPlatform.CONSOLE; }); const PLAY_ON_PLAYSTATION = FirstPartyQuestTaskTypes.PLAY_ON_PLAYSTATION; value = value.with({taskType: PLAY_ON_PLAYSTATION}, function() { return QuestTaskPlatform.CONSOLE; }); const ACHIEVEMENT_IN_GAME = FirstPartyQuestTaskTypes.ACHIEVEMENT_IN_GAME; value = value.with({taskType: ACHIEVEMENT_IN_GAME}, function() { return QuestTaskPlatform.DESKTOP; }); const ACHIEVEMENT_IN_ACTIVITY = FirstPartyQuestTaskTypes.ACHIEVEMENT_IN_ACTIVITY; value = value.with({taskType: ACHIEVEMENT_IN_ACTIVITY}, function() { return QuestTaskPlatform.DESKTOP; }); return value.exhaustive(); } function _fun73813() { // fn#73813, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:10885, offset: 0x01d78b71, size: 367 bytes, params: 1, frame: 16 var environment; let value = environment.__proto__; const value3 = (Module04242Module).match({lastPlatformProgress: env0_5, currentProgressingPlatform: env0_6, selectedPlatform: env0_2}); let CONSOLE = QuestTaskPlatform.CONSOLE; const value4 = value3.with({currentProgressingPlatform: CONSOLE}, function() { return require(dependencyMap[19]).TaskPlatformScreen.CONSOLE; }); let DESKTOP = QuestTaskPlatform.DESKTOP; const value5 = value4.with({currentProgressingPlatform: DESKTOP}, function() { return require(dependencyMap[19]).TaskPlatformScreen.DESKTOP; }); CONSOLE = QuestTaskPlatform.CONSOLE; const value6 = value5.with({currentProgressingPlatform: null, lastPlatformProgress: CONSOLE}, function() { return require(dependencyMap[19]).TaskPlatformScreen.CONSOLE; }); DESKTOP = QuestTaskPlatform.DESKTOP; const value7 = value6.with({currentProgressingPlatform: null, lastPlatformProgress: DESKTOP}, function() { return require(dependencyMap[19]).TaskPlatformScreen.DESKTOP; }); CONSOLE = QuestTaskPlatform.CONSOLE; const value8 = value7.with({'currentProgressingPlatform': null, 'lastPlatformProgress': null, selectedPlatform: CONSOLE}, function() { return require(dependencyMap[19]).TaskPlatformScreen.CONSOLE; }); DESKTOP = QuestTaskPlatform.DESKTOP; value = value8.with({'currentProgressingPlatform': null, 'lastPlatformProgress': null, selectedPlatform: DESKTOP}, function() { return require(dependencyMap[19]).TaskPlatformScreen.DESKTOP; }); value = value.with({'currentProgressingPlatform': null, 'lastPlatformProgress': null, 'selectedPlatform': null}, _fun73820); return value.exhaustive(); function _fun73820() { // fn#73820, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:11743, offset: 0x01d78d2e, size: 110 bytes, params: 1, frame: 12 const TaskPlatformScreen = (QuestTypesModule).TaskPlatformScreen; return env1_4 && env1_3 ? TaskPlatformScreen.SELECT : env1_4 ? TaskPlatformScreen.CONSOLE : TaskPlatformScreen.DESKTOP; } } } function useQuestHomeHeroShelf(a0) { // fn#73821, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:12258, offset: 0x01d78d9c, size: 119 bytes, params: 2, frame: 17 return ReactModule.useMemo(_fun73823, [(require(566) /* metro dependency 566: flux */).useStateFromStores([QuestStore], function() { return QuestStore.quests; }), a0?.questIds]); function _fun73823() { // fn#73823, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:12393, offset: 0x01d78e22, size: 168 bytes, params: 1, frame: 14 var value; if (questIds == null) { return {shelfQuests: [], isShelfEnabled: false}; } value = Reflect.apply(questIds.map(function(a0) { return quests.get(a0); }).filter, value, [(require(1360) /* metro dependency 1360: GlobalUtils */).isNotNullish]); value = value.filter(_fun73825); return value.length <= 1 ? {shelfQuests: [], isShelfEnabled: false} : {shelfQuests: value, isShelfEnabled: true}; function _fun73825(a0) { // fn#73825, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:12516, offset: 0x01d78ee0, size: 44 bytes, params: 2, frame: 11 let value = environment.__proto__.__proto__; value = require(7091) /* metro dependency 7091: QuestDataUtils */; return !value.isQuestExpired(a0); } } } function useQuestTaskDetails(a0) { // fn#73826, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:7788, offset: 0x01d78f0c, size: 183 bytes, params: 2, frame: 18 const env0_0 = a0; const value2 = ReactModule.useCallback(_fun73827, [a0]); const [property, env0_2] = Module00057(ReactModule.useState(value2()), 2); ReactModule.useEffect(_fun73829, [a0, useIsQuestProgressing(a0), ReactModule.useCallback(_fun73828, [value2])]); return property; function _fun73827() { // fn#73827, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:7813, offset: 0x01d78fc3, size: 45 bytes, params: 1, frame: 11 const value = environment.__proto__; return (QuestTaskUtilsModule).getQuestTaskDetails(env0_0); } function _fun73828() { // fn#73828, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:7914, offset: 0x01d78ff0, size: 24 bytes, params: 1, frame: 11 return env0_2(env0_1()); } function _fun73829() { // fn#73829, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:7978, offset: 0x01d79008, size: 195 bytes, params: 1, frame: 16 var environment; var window; var setInterval; var value; let userStatus = env0_0.userStatus; const value2 = undefined; if ((userStatus == null ? value2 : userStatus.enrolledAt) != null) { userStatus = env0_0.userStatus; if ((userStatus == null ? value2 : userStatus.completedAt) != null) { Module00005(); return value2; } userStatus = env0_0.userStatus; if ((userStatus == null ? value2 : userStatus.claimedAt) != null) { Module00005(); return value2; } if (Module00057) { window = global.window; setInterval = window.setInterval; value = environment.__proto__; value = 1 * (importDefault(672) /* metro dependency 672: Durations */).Millis.SECOND; var env0_0 = Reflect.apply(setInterval, window, [_fun73830, value]); return _fun73831; } } Module00005(); return value2; function _fun73830() { // fn#73830, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:8181, offset: 0x01d790cb, size: 15 bytes, params: 1, frame: 9 env1_3(); } function _fun73831() { // fn#73831, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:8224, offset: 0x01d790da, size: 35 bytes, params: 1, frame: 11 global.clearInterval(env0_0); env1_3(); } } } function useWaitingForConsoleConnection({quest}) { // fn#73832, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:9203, offset: 0x01d790fd, size: 93 bytes, params: 2, frame: 15 const xboxAndPlaystationAccounts = useConnectedAccounts().xboxAndPlaystationAccounts; const value2 = useIsQuestProgressing(quest); const value3 = xboxAndPlaystationAccounts.length === 0; let value = QuestTaskUtilsModule; value = value.isConsoleQuest(quest); return value && value3 && !value2; } function useIsPreviewerOnAnyQuest() { // fn#73833, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:11927, offset: 0x01d7915a, size: 78 bytes, params: 1, frame: 14 const useStateFromStoresArray = FluxModule.useStateFromStoresArray; return Reflect.apply(useStateFromStoresArray, FluxModule, [[QuestStore], _fun73834]).some(function(a0) { return a0.preview; }); function _fun73834() { // fn#73834, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:11970, offset: 0x01d774cb, size: 37 bytes, params: 1, frame: 13 let value = environment.__proto__; value = QuestStore.quests.values(); const items2 = []; arraySpread(items2, value, 0, undefined); return items2; } } function useFilteredQuests(a0) { // fn#73837, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:12878, offset: 0x01d7924d, size: 303 bytes, params: 2, frame: 25 var r5; var r14; var value10; var value11; var value12; var value13; var removeExpiredQuests; var isQuestHiddenFromQuestHome2; var value14; var value15; const value = a1; const r8 = value !== undefined ? value : env0_28; const {quests, excludedQuests, isFetchingCurrentQuests, hasFetched} = useQuests({'fetchPolicy': 'cache-and-network', 'callerSource': 'use_filtered_quests'}); const Map = global.Map; let map = quests.map; map = new Map(Reflect.apply(map, quests, [function(a0) { return [a0.id, a0]; }])); const value6 = useAllQuests(quests, r8); const value7 = useCompletedAndClaimedQuests(quests); const items2 = []; const _createForOfIteratorHelperLoose_73747Binding = _createForOfIteratorHelperLoose_73747; let ALL = env0_31.ALL; let r0 = a0 !== ALL ? value7 : value6; const value8 = _createForOfIteratorHelperLoose_73747Binding(r0); const value9 = value8(); let done = value9.done; if (!done) { r5 = value9; while (true) { value10 = r5.value; value11 = map.get(value10); value12 = value11 != null; if (value12) { ALL = env0_31.ALL; value13 = a0 === ALL; r14 = value13; } else { r14 = value12; } if (!r14) { continue; } removeExpiredQuests = r8.removeExpiredQuests; r14 = removeExpiredQuests; if (!r14) { continue; } isQuestHiddenFromQuestHome2 = isQuestHiddenFromQuestHome(value11); r14 = isQuestHiddenFromQuestHome2; value14 = value11 == null; if (value14) { r0 = value14; continue; } r0 = r14; continue; if (r0) { continue; } items2.push(value11); value15 = value8(); done = value15.done; if (done) { break; } r5 = value15; continue; } } return {quests: items2, excludedQuests: excludedQuests, isFetchingCurrentQuests: isFetchingCurrentQuests, hasFetched: hasFetched}; function useCompletedAndClaimedQuests(a0) { // fn#73839, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:13131, owner: useFilteredQuests.useCompletedAndClaimedQuests, offset: 0x01d7937c, size: 100 bytes, params: 2, frame: 15 const env0_0 = a0; const value2 = env1_5.useMemo(_fun73840, [a0]); const env0_2 = env1_5.useRef([]); return env1_5.useMemo(_fun73842, [value2]); function _fun73840() { // fn#73840, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:13189, offset: 0x01d793e0, size: 28 bytes, params: 1, frame: 11 return env0_0.filter(function(a0) { var property = a0.userStatus; var value = undefined; var value2 = (property == null ? value : property.completedAt) != null; property = a0.userStatus; return value2 && (property == null ? value : property.claimedAt) != null; }); } function _fun73842() { // fn#73842, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:13375, offset: 0x01d7943b, size: 133 bytes, params: 1, frame: 13 if (env0_1.length === 0) { return []; } if (env0_2.current.length > 0) { if (env0_2.current.length === env0_1.length) { return env0_2.current; } } const value3 = env0_1.sort(_fun73843).map(function(a0) { return a0.id; }); env0_2.current = value3; return value3; function _fun73843(a0, a1) { // fn#73843, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:13487, offset: 0x01d794c0, size: 144 bytes, params: 3, frame: 18 var r0; var value3; var sortByDateBinding; var config; var rewardsConfig; var rewardsExpireAt; let userStatus = a0.userStatus; const value = undefined; const value2 = (userStatus == null ? value : userStatus.claimedAt) == null; userStatus = a1.userStatus; if (value2 !== ((userStatus == null ? value : userStatus.claimedAt) == null)) { r0 = value2 ? env3_27 : 1; } else { value3 = environment.__proto__.__proto__.__proto__; sortByDateBinding = sortByDate; config = a0.config; rewardsConfig = config.rewardsConfig; rewardsExpireAt = rewardsConfig.rewardsExpireAt; config = a1.config; rewardsConfig = config.rewardsConfig; r0 = sortByDateBinding(rewardsExpireAt, rewardsConfig.rewardsExpireAt, env3_30.DESC); } return r0; } } } } function useClaimedQuests() { // fn#73845, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:14057, offset: 0x01d79550, size: 165 bytes, params: 1, frame: 19 const env0_0 = ReactModule.useRef(false); const value2 = (require(566) /* metro dependency 566: flux */).useStateFromStoresArray([QuestStore], function() { var Array = global.Array; return Array.from(QuestStore.claimedQuests.values()); }); const isFetchingClaimedQuests = (require(566) /* metro dependency 566: flux */).useStateFromStores([QuestStore], function() { return QuestStore.isFetchingClaimedQuests; }); ReactModule.useEffect(_fun73848, [isFetchingClaimedQuests]); return {claimedQuests: value2, isFetchingClaimedQuests: isFetchingClaimedQuests}; function _fun73848() { // fn#73848, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:14276, offset: 0x01d7962e, size: 73 bytes, params: 1, frame: 11 var value; if (!(isFetchingClaimedQuests || env0_0.current)) { env0_0.current = true; value = environment.__proto__; value = require(9484) /* metro dependency 9484: QuestActionCreators */; value.fetchClaimedQuests(); } } } function useExpiredQuestsMap() { // fn#73849, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:14416, offset: 0x01d79677, size: 59 bytes, params: 1, frame: 13 return (require(566) /* metro dependency 566: flux */).useStateFromStores([QuestStore], function() { return QuestStore.getExpiredQuestsMap(); }); function _fun73850() { // fn#73850, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:14488, offset: 0x01d796b2, size: 21 bytes, params: 1, frame: 9 return QuestStore.getExpiredQuestsMap(); } } function useShouldShowBonusOrbsUX(a0, a1) { // fn#73851, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:14547, offset: 0x01d796c7, size: 134 bytes, params: 3, frame: 17 var value; const value2 = useIsQuestExpired(a0); value = Reflect.apply((require(9500) /* metro dependency 9500: QuestRewardUtils */).hasVirtualCurrencyReward, value, [a0.config]); const questRewardUtilsModule = require(9500) /* metro dependency 9500: QuestRewardUtils */; const hasPremiumOrbQuantity2 = questRewardUtilsModule.hasPremiumOrbQuantity(a0.config); const QuestOrbMultiplierEligibilityType = (QuestOrbMultiplierUtilsModule).QuestOrbMultiplierEligibilityType; const INELIGIBLE = QuestOrbMultiplierEligibilityType.INELIGIBLE; return !value2 && value && hasPremiumOrbQuantity2 && a1 !== INELIGIBLE; } function useQuestOrbRewardMultiplier(a0) { // fn#73852, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:14815, offset: 0x01d7974d, size: 75 bytes, params: 2, frame: 16 const env0_0 = a0; return (FluxModule).useStateFromStores([QuestStore], _fun73853, [a0]); function _fun73853() { // fn#73853, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:14896, offset: 0x01d79798, size: 75 bytes, params: 1, frame: 13 var r0; let value = environment.__proto__; const quest = QuestStore.getQuest(env0_0); const value4 = null; if (value4 == quest) { r0 = value4; } else { value = require(9500) /* metro dependency 9500: QuestRewardUtils */; value = value.getQuestOrbMultiplier(quest.config); r0 = value; } return r0; } } function useIsQuestEligibleForMembersListPopout(a0, a1, a2) { // fn#73854, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:15072, offset: 0x01d797e3, size: 293 bytes, params: 4, frame: 24 const env0_0 = a0; const env0_1 = a1; const value2 = undefined; const value3 = (require(566) /* metro dependency 566: flux */).useStateFromStores([ChannelStore], _fun73855); const value4 = (require(566) /* metro dependency 566: flux */).useStateFromStores([QuestStore], function() { return QuestStore.questEnrollmentBlockedUntil != null; }, []); const value5 = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], _fun73857); const value6 = (require(566) /* metro dependency 566: flux */).useStateFromStores([QuestStore], _fun73858, [a0]); if (a0 == null) { return false; } if (value4) { return false; } if (value6) { return false; } if (value5 === a2) { return false; } const userStatus = a0.userStatus; const value7 = (userStatus == null ? value2 : userStatus.claimedAt) != null; let value = QuestUtilsModule; value = value.isStreamingAndCanWatch(a1, value3); return !(value7 && !value); function _fun73855() { // fn#73855, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:15169, offset: 0x01d79908, size: 58 bytes, params: 1, frame: 14 let value = environment.__proto__; const channelStoreBinding = ChannelStore; const value2 = null; value = channelStoreBinding.getChannel(value2 == require ? undefined : require.channelId); return value2 != value ? value : value2; } function _fun73857() { // fn#73857, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:15365, offset: 0x01d79957, size: 34 bytes, params: 1, frame: 10 const value = environment.__proto__; return UserStore.getCurrentUser()?.id; } function _fun73858() { // fn#73858, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:15463, offset: 0x01d782ca, size: 45 bytes, params: 1, frame: 12 return env0_0 != null && QuestStore.isQuestExpired(env0_0.id); } } function useQuestFormattedDate(a0) { // fn#73859, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:15675, offset: 0x01d79979, size: 137 bytes, params: 2, frame: 17 const value = a1; const env0_0 = a0; return ReactModule.useMemo(_fun73861, [a0, value !== undefined ? value : {dateStyle: 'short'}, (require(566) /* metro dependency 566: flux */).useStateFromStores([LocaleStore], function() { return LocaleStore.locale; })]); function _fun73861() { // fn#73861, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:15804, offset: 0x01d79a02, size: 74 bytes, params: 1, frame: 14 var r0; var Date; var binding; var date; if (env0_0 == null) { r0 = ''; } else { Date = global.Date; binding = env0_0; date = new Date(); r0 = date.toLocaleDateString(locale, env0_1); } return r0; } } function useOnOpenGameClick({quest, content, ctaContent, sourceQuestContent}) { // fn#73862, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:15888, offset: 0x01d79a4c, size: 131 bytes, params: 2, frame: 18 return ReactModule.useCallback(_fun73863, [quest, content, ctaContent, (ContentImpressionTrackerHooksModule).useQuestImpressionId(), sourceQuestContent]); function _fun73863() { // fn#73863, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:16032, offset: 0x01d79acf, size: 166 bytes, params: 1, frame: 16 var window; var open; var moduleValue; var value; if (quest.id !== ORBS_INTRO_QUEST_ID) { moduleValue = require(9520) /* metro dependency 9520: QuestPlatformUtils */; moduleValue.openGameLinkDirectly(quest, {content: content, ctaContent: ctaContent, impressionId: Module00057, sourceQuestContent: sourceQuestContent}); } else { window = global.window; open = window.open; value = importDefault(1948) /* metro dependency 1948: HelpdeskUtils */; Reflect.apply(open, window, [value.getArticleURL(HelpdeskArticles.VIRTUAL_CURRENCY_LEARN_MORE)]); } } } function useConnectedConsoleLinkOnClick({quest, questContent, sourceQuestContent}) { // fn#73864, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:16598, offset: 0x01d79b75, size: 103 bytes, params: 2, frame: 13 const env0_3 = useWaitingForConsoleConnection({quest: quest}); const env0_4 = (ContentImpressionTrackerHooksModule).useQuestImpression(); return _fun73865; function _fun73865() { // fn#73865, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:16735, offset: 0x01d79bdc, size: 249 bytes, params: 1, frame: 20 var openConsoleConnectionSettings; var object; var object2; const QuestContentCTA = (AnalyticsTypesModule).QuestContentCTA; var openAddConsoleConnectionModal; var object3; const binding = env0_3; const value3 = undefined; if (binding) { openAddConsoleConnectionModal = QuestPlatformUtilsModule.openAddConsoleConnectionModal; object = {}; object.quest = quest; object3 = {}; object3.content = questContent; object3.ctaContent = QuestContentCTA.CONNECT_CONSOLE_LINK; object3.impressionId = env0_4 == null ? value3 : env0_4.getId(); object3.sourceQuestContent = sourceQuestContent; Reflect.apply(openAddConsoleConnectionModal, QuestPlatformUtilsModule, [object, object3]); } else { openConsoleConnectionSettings = QuestPlatformUtilsModule.openConsoleConnectionSettings; object = {}; object.quest = quest; object2 = {}; object2.content = questContent; object2.ctaContent = QuestContentCTA.VIEW_CONSOLE_CONNECTIONS_LINK; object2.impressionId = env0_4 == null ? value3 : env0_4.getId(); object2.sourceQuestContent = sourceQuestContent; Reflect.apply(openConsoleConnectionSettings, QuestPlatformUtilsModule, [object, object2]); } return value3; } } function useQuestForMemberListSocialEntryPoint(a0) { // fn#73866, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:17239, offset: 0x01d79cd5, size: 161 bytes, params: 2, frame: 18 const env0_0 = a0; const quests = (require(566) /* metro dependency 566: flux */).useStateFromStores([QuestStore], function() { return QuestStore.quests; }); const Array = global.Array; const value3 = ReactModule.useMemo(_fun73868, [a0, quests, useGetOrFetchApplicationForConsoleQuests(Array.from(quests.values()))]); return useIsQuestExpired(value3) ? null : value3; function _fun73868() { // fn#73868, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:17424, offset: 0x01d79d76, size: 78 bytes, params: 1, frame: 17 const value = environment.__proto__; return (QuestMatchingUtilsModule).getQuestsFromActivities(QuestUtilsModule.filterQuestsForSocialEntrypoints(quests, MEMBER_LIST_SOCIAL_ENTRY_POINT_ALLOWED_TASK_TYPES), env0_0); } } function useQuestCollectibles(a0) { // fn#73869, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:17600, offset: 0x01d79dc4, size: 155 bytes, params: 2, frame: 15 const value = undefined; const hasCollectiblesQuestReward2 = (QuestRewardUtilsModule).hasCollectiblesQuestReward(a0); const {product, isFetching} = (UseFetchCollectiblesProductModule).useFetchCollectiblesProduct((QuestCopyUtilsModule).getDefaultReward(a0).skuId); return {hasQuestCollectibles: hasCollectiblesQuestReward2, avatarDecoration: product == null || product.items == null ? value : product.items[0], isFetching: isFetching}; } function useQuestPreviewActions(a0) { // fn#73870, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:17916, offset: 0x01d79e5f, size: 44 bytes, params: 2, frame: 14 const env0_0 = a0; return ReactModule.useMemo(function() { return {handleComplete: _fun73872, handleProgress: _fun73873, handleResetStatusClick: _fun73874, handleResetDismissibilityClick: _fun73875, handleOverridePreviewClick: _fun73876, handleResetHasBeenSeenClick: _fun73877}; }, [a0]); function _fun73871() { // fn#73871, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:17969, offset: 0x01d79e8b, size: 78 bytes, params: 1, frame: 3 return {handleComplete: handleComplete, handleProgress: handleProgress_73873, handleResetStatusClick: handleResetStatusClick, handleResetDismissibilityClick: handleResetDismissibilityClick, handleOverridePreviewClick: handleOverridePreviewClick, handleResetHasBeenSeenClick: handleResetHasBeenSeenClick}; function handleComplete() { // fn#73872, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:17990, offset: 0x01d79ed9, size: 45 bytes, params: 1, frame: 11 const value = environment.__proto__.__proto__; return (QuestActionCreatorsModule).completeQuestPreview(env1_0); } function handleProgress_73873(a0) { // fn#73873, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:18043, offset: 0x01d79f06, size: 49 bytes, params: 2, frame: 13 const value = environment.__proto__.__proto__; return (QuestActionCreatorsModule).completeQuestPreview(env1_0, a0); } function handleResetStatusClick() { // fn#73874, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:18105, offset: 0x01d79f37, size: 45 bytes, params: 1, frame: 11 const value = environment.__proto__.__proto__; return (QuestActionCreatorsModule).resetQuestPreviewStatus(env1_0); } function handleResetDismissibilityClick() { // fn#73875, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:18177, offset: 0x01d79f64, size: 45 bytes, params: 1, frame: 11 const value = environment.__proto__.__proto__; return (QuestActionCreatorsModule).resetQuestDismissibilityStatus(env1_0); } function handleOverridePreviewClick(a0) { // fn#73876, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:18252, offset: 0x01d79f91, size: 49 bytes, params: 2, frame: 13 const value = environment.__proto__.__proto__; return (QuestActionCreatorsModule).overrideQuestForPlacement(a0, env1_0); } function handleResetHasBeenSeenClick() { // fn#73877, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:18324, offset: 0x01d79fc2, size: 78 bytes, params: 1, frame: 15 let value = environment.__proto__.__proto__; value = require(9484) /* metro dependency 9484: QuestActionCreators */; const markAdContentUnseen = value.markAdContentUnseen; const AdCreativeType = (AdCreativeTypeModule).AdCreativeType; const QUEST = AdCreativeType.QUEST; return Reflect.apply(markAdContentUnseen, value, [QUEST, [env1_0]]); } } } function useManuallyStartConsoleQuest({questId, preview, beforeRequest, afterRequest}) { // fn#73878, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:18480, offset: 0x01d7a010, size: 330 bytes, params: 2, frame: 23 const afterRequest2 = afterRequest; const [property, env0_4] = env0_4Binding(property22.useState([]), 2); const value5 = env0_4Binding(property22.useState(false), 2); const property2 = value5[0]; var property22 = property2; const env0_6 = value5[1]; property22.useEffect(_fun73881, [(require(566) /* metro dependency 566: flux */).useStateFromStores([ConnectedAccountsStore], function() { return ConnectedAccountsStore.getAccounts(); }), useConsoleQuestUIStore(function(a0) { return a0.clearErrorHintsByType; }), questId]); object = {}; object.startConsoleQuest = property22.useCallback(afterRequest2(_fun73885), [property2, beforeRequest, afterRequest, preview, questId]); object.startingConsoleQuest = property2; object.errorHints = property; return object; function _fun73881() { // fn#73881, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:18733, offset: 0x01d7a178, size: 74 bytes, params: 1, frame: 15 let binding = env0_4; binding(function(a0) { return a0.filter(_fun73883); }); binding = env0_7; const questIdBinding = questId; const QuestConsoleStartError = (QuestConsoleStartErrorModule).QuestConsoleStartError; const EXPIRED_CREDENTIAL = QuestConsoleStartError.EXPIRED_CREDENTIAL; binding(questIdBinding, EXPIRED_CREDENTIAL); function _fun73882(a0) { // fn#73882, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:18741, offset: 0x01d7a1c2, size: 24 bytes, params: 2, frame: 11 return a0.filter(function({type}) { return type !== require(dependencyMap[40]).QuestConsoleStartError.EXPIRED_CREDENTIAL; }); function _fun73883({type}) { // fn#73883, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:18754, offset: 0x01d7a1da, size: 51 bytes, params: 2, frame: 12 const QuestConsoleStartError = (QuestConsoleStartErrorModule).QuestConsoleStartError; const EXPIRED_CREDENTIAL = QuestConsoleStartError.EXPIRED_CREDENTIAL; return type !== EXPIRED_CREDENTIAL; } } } function* _fun73885() { // fn#73885, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:18926, offset: 0x01d7a218, size: 352 bytes, params: 1, frame: 20 var errorHints; var r3; var binding; var binding2; var property; var value6; var manuallyStartConsoleQuest; var value7; var value8; var value9; var error; if (false) { return undefined; } value = undefined; if (!env1_5) { var value4 = null; if (value4 != dependencyMap) { dependencyMap(); } LocaleStore(true); try { binding = env2_0; } catch (error) { r3 = value4; LocaleStore(false); if (value4 != env1_3) { binding = env1_3; errorHints = value4 == r3 ? value : r3.errorHints; r3 = value4 != errorHints ? errorHints : []; binding(r3); } throw error; } try { binding2 = env2_2; } catch (error) { r3 = value4; LocaleStore(false); if (value4 != env1_3) { binding = env1_3; errorHints = value4 == r3 ? value : r3.errorHints; r3 = value4 != errorHints ? errorHints : []; binding(r3); } throw error; } try { property = binding2[15]; } catch (error) { r3 = value4; LocaleStore(false); if (value4 != env1_3) { binding = env1_3; errorHints = value4 == r3 ? value : r3.errorHints; r3 = value4 != errorHints ? errorHints : []; binding(r3); } throw error; } try { value6 = binding(property); } catch (error) { r3 = value4; LocaleStore(false); if (value4 != env1_3) { binding = env1_3; errorHints = value4 == r3 ? value : r3.errorHints; r3 = value4 != errorHints ? errorHints : []; binding(r3); } throw error; } try { manuallyStartConsoleQuest = value6.manuallyStartConsoleQuest; } catch (error) { r3 = value4; LocaleStore(false); if (value4 != env1_3) { binding = env1_3; errorHints = value4 == r3 ? value : r3.errorHints; r3 = value4 != errorHints ? errorHints : []; binding(r3); } throw error; } try { } catch (error) { r3 = value4; LocaleStore(false); if (value4 != env1_3) { binding = env1_3; errorHints = value4 == r3 ? value : r3.errorHints; r3 = value4 != errorHints ? errorHints : []; binding(r3); } throw error; } try { } catch (error) { r3 = value4; LocaleStore(false); if (value4 != env1_3) { binding = env1_3; errorHints = value4 == r3 ? value : r3.errorHints; r3 = value4 != errorHints ? errorHints : []; binding(r3); } throw error; } try { value7 = Reflect.apply(manuallyStartConsoleQuest, value6, [require, importDefault]); } catch (error) { r3 = value4; LocaleStore(false); if (value4 != env1_3) { binding = env1_3; errorHints = value4 == r3 ? value : r3.errorHints; r3 = value4 != errorHints ? errorHints : []; binding(r3); } throw error; } yield value7; try { value8 = undefined; value9 = false; } catch (error) { r3 = value4; LocaleStore(false); if (value4 != env1_3) { binding = env1_3; errorHints = value4 == r3 ? value : r3.errorHints; r3 = value4 != errorHints ? errorHints : []; binding(r3); } throw error; } if (value9) { LocaleStore(false); if (value4 != env1_3) { binding = env1_3; errorHints = value4 == value4 ? value : value4.errorHints; binding(value4 != errorHints ? errorHints : []); } return value8; } try { binding = env1_4; } catch (error) { r3 = value8; LocaleStore(false); if (value4 != env1_3) { binding = env1_3; errorHints = value4 == r3 ? value : r3.errorHints; r3 = value4 != errorHints ? errorHints : []; binding(r3); } throw error; } try { errorHints = value8.errorHints; } catch (error) { r3 = value8; LocaleStore(false); if (value4 != env1_3) { binding = env1_3; errorHints = value4 == r3 ? value : r3.errorHints; r3 = value4 != errorHints ? errorHints : []; binding(r3); } throw error; } try { binding(errorHints); } catch (error) { r3 = value8; LocaleStore(false); if (value4 != env1_3) { binding = env1_3; errorHints = value4 == r3 ? value : r3.errorHints; r3 = value4 != errorHints ? errorHints : []; binding(r3); } throw error; } LocaleStore(false); if (value4 != env1_3) { binding = env1_3; errorHints = value4 == value8 ? value : value8.errorHints; binding(value4 != errorHints ? errorHints : []); } } return value; } } function useQuestHowToHelpArticle() { // fn#73886, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:19274, offset: 0x01d7a378, size: 288 bytes, params: 1, frame: 22 const {xboxAccounts, playstationAccounts} = useConnectedAccounts(); const value3 = xboxAccounts.length > 0; const value4 = playstationAccounts.length > 0; const defaultImport = HelpdeskUtils; let getArticleURL = defaultImport.getArticleURL; const QUEST_HOW_TO_PLAYSTATION = HelpdeskArticles.QUEST_HOW_TO_PLAYSTATION; const value5 = Reflect.apply(getArticleURL, defaultImport, [QUEST_HOW_TO_PLAYSTATION]); const defaultImport2 = defaultImport; getArticleURL = defaultImport2.getArticleURL; const QUEST_HOW_TO_XBOX = HelpdeskArticles.QUEST_HOW_TO_XBOX; const value6 = Reflect.apply(getArticleURL, defaultImport2, [QUEST_HOW_TO_XBOX]); const intl = (IndexNativeModule).intl; let format = intl.format; const t = (IndexNativeModule).t; const value = Reflect.apply(format, intl, [t.beN4DG, {psHelpdeskArticle: value5, xboxHelpdeskArticle: value6}]); format = intl.format; const HVS7nh = t.HVS7nh; const value7 = Reflect.apply(format, intl, [HVS7nh, {helpdeskArticle: value4 ? value5 : value6}]); return {message: value3 ? value4 ? value3 ? value : value4 ? value7 : value : value7 : value3 ? value : value4 ? value7 : value, xboxURL: value6, playstationURL: value5}; } function useProgressState(a0) { // fn#73887, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:19735, offset: 0x01d7a498, size: 177 bytes, params: 2, frame: 16 let userStatus = a0.userStatus; const value = undefined; const value2 = (userStatus == null ? value : userStatus.enrolledAt) != null; userStatus = a0.userStatus; const value3 = (userStatus == null ? value : userStatus.completedAt) != null; userStatus = a0.userStatus; return (userStatus == null ? value : userStatus.claimedAt) != null ? env0_34.CLAIMED : value3 ? env0_34.COMPLETED : useQuestTaskDetails(a0).percentComplete > 0 && value2 ? env0_34.IN_PROGRESS : value2 ? env0_34.ACCEPTED : env0_34.UNACCEPTED; } function useQuestCompletionDetails(a0) { // fn#73888, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:20084, offset: 0x01d7a549, size: 244 bytes, params: 2, frame: 20 var r1; let value = a1; const value2 = undefined; const r7 = value !== value2 ? value : false; const locale = (require(566) /* metro dependency 566: flux */).useStateFromStores([LocaleStore], function() { return LocaleStore.locale; }); let percentComplete = useQuestTaskDetails(a0).percentComplete; const value3 = useThirdPartyTaskDetails(a0); percentComplete = value3 != null ? value3.percentComplete : percentComplete; object = {completedRatio: percentComplete, percentComplete: 100 * percentComplete}; if (value3 == null) { value = require(1856) /* metro dependency 1856: NumberUtils */; value = value.formatPercent(locale, percentComplete, {roundingMode: 'floor'}); r1 = value; } else if (r7) { value = require(1856) /* metro dependency 1856: NumberUtils */; value = value.formatPercent(locale, percentComplete, {roundingMode: 'floor'}); r1 = value; } else { r1 = '' + (value3 == null ? value2 : value3.progress) + '/' + (value3 == null ? value2 : value3.target); } object.completedRatioDisplay = r1; return object; } function useQuestWarningTips(a0) { // fn#73890, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:20595, offset: 0x01d7a63d, size: 551 bytes, params: 2, frame: 24 var moduleValue2; const intl = (IndexNativeModule).intl; const t = (IndexNativeModule).t; const value2 = undefined; const value3 = useThirdPartyTaskDetails(a0); const value4 = useQuestTaskDetails(a0); const property = Module00057(useTaskPlatformScreen(a0, value4), 1)[0]; const value7 = useIsQuestExpired(a0); let userStatus = a0.userStatus; const value8 = (userStatus == null ? value2 : userStatus.enrolledAt) != null; userStatus = a0.userStatus; const value9 = (userStatus == null ? value2 : userStatus.completedAt) != null; const FirstPartyQuestTaskTypesSets = (require(6535) /* metro dependency 6535: FirstPartyQuestTaskTypes */).FirstPartyQuestTaskTypesSets; const DESKTOP = FirstPartyQuestTaskTypesSets.DESKTOP; let r0 = DESKTOP.has(value4.taskType) && value4.percentComplete > 0; const value12 = value4.percentComplete === 0; let r4 = value8 && !value9 && !value7 && value3 == null; if (r4) { r0 = !r0 ? value12 && property === (require(6531) /* metro dependency 6531: QuestTypes */).TaskPlatformScreen.DESKTOP : r0; r4 = r0; } let r2 = (require(477) /* metro dependency 477: PlatformUtils */).isWeb() && r4; if (r2) { moduleValue2 = require(9520) /* metro dependency 9520: QuestPlatformUtils */; r2 = !moduleValue2.isQuestSupportedOnWeb(a0); } const items2 = []; if ((require(477) /* metro dependency 477: PlatformUtils */).isMac() && value4.taskType === (require(6535) /* metro dependency 6535: FirstPartyQuestTaskTypes */).FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP && r4) { items2.push(intl.string(t.MFGxFM)); } if (r2) { items2.push(intl.string(t.BV6xDm)); } return items2; } function useQuest(a0) { // fn#73891, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:21321, offset: 0x01d7a864, size: 84 bytes, params: 2, frame: 13 const useStateFromStores = FluxModule.useStateFromStores; const value = Reflect.apply(useStateFromStores, FluxModule, [[QuestStore], function() { return QuestStore.quests; }]).get(a0); const value2 = null; return value2 != value ? value : value2; } function useNonNullableQuest(a0, a1) { // fn#73893, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:21452, offset: 0x01d7a8b8, size: 136 bytes, params: 3, frame: 19 const env0_0 = a0; const env0_1 = a1; const value2 = (FluxModule).useStateFromStores([QuestStore], _fun73894, [a0]); const value3 = null; const r0 = value3 != value2 ? value2 : value3; ReactModule.useEffect(_fun73895, [r0, a0, a1]); return r0; function _fun73894() { // fn#73894, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:21537, offset: 0x01d7a940, size: 27 bytes, params: 1, frame: 11 return QuestStore.getQuest(env0_0); } function _fun73895() { // fn#73895, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:21589, offset: 0x01d7a95b, size: 235 bytes, params: 1, frame: 22 var value2; var value3; var items2; var moduleValue; var captureQuestsException; var Error; var binding; var value4; if (env0_2 == null) { value2 = environment.__proto__; value3 = QuestStore.quests.keys(); items2 = []; arraySpread(items2, value3, 0, undefined); moduleValue = require(7091) /* metro dependency 7091: QuestDataUtils */; captureQuestsException = moduleValue.captureQuestsException; Error = global.Error; binding = env0_0; value4 = 'Quest unexpectedly missing from store: ' + binding; Reflect.apply(captureQuestsException, moduleValue, [new Error(), {tags: {source: 'useNonNullableQuest'}, extra: {questId: binding, storeQuestIds: items2, storeSize: items2.length, isFetchingCurrentQuests: QuestStore.isFetchingCurrentQuests, lastFetchedCurrentQuests: QuestStore.lastFetchedCurrentQuests}}]); if (require != null) { require(); } } } } function useQuestBarOrDockModeChangeTracking({mode, questContent, sourceQuestContent, questId}) { // fn#73896, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:21984, offset: 0x01d7aa46, size: 151 bytes, params: 2, frame: 19 const env0_4 = ReactModule.useRef(null); ReactModule.useEffect(_fun73897, [questId, questContent, mode, sourceQuestContent]); ReactModule.useEffect(function() { if (questId != null) { return _fun73899; } }, [questId, questContent, sourceQuestContent]); function _fun73897() { // fn#73897, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:22119, offset: 0x01d7aadd, size: 133 bytes, params: 1, frame: 15 var modeBinding; var value4; var moduleValue; var trackQuestBarOrDockModeChange; var binding; if (questId != null && env0_4.current !== mode) { value4 = environment.__proto__; moduleValue = require(7110) /* metro dependency 7110: AnalyticsActions */; trackQuestBarOrDockModeChange = moduleValue.trackQuestBarOrDockModeChange; modeBinding = mode; binding = env0_4; Reflect.apply(trackQuestBarOrDockModeChange, moduleValue, [{mode: modeBinding, prevMode: binding.current, questContent: questContent, questId: questId, sourceQuestContent: sourceQuestContent}]); binding.current = modeBinding; } } function _fun73898() { // fn#73898, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:22303, offset: 0x01d7ab62, size: 28 bytes, params: 1, frame: 2 if (questId != null) { return _fun73899; } function _fun73899() { // fn#73899, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:22325, offset: 0x01d7ab7e, size: 90 bytes, params: 1, frame: 14 const value = environment.__proto__.__proto__; (AnalyticsActionsModule).trackQuestBarOrDockModeChange({mode: null, prevMode: env1_4.current, questContent: questContent, questId: questId, sourceQuestContent: sourceQuestContent}); } } } function useCosponsoredLogotypeAsset(a0, a1) { // fn#73900, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:22492, offset: 0x01d7abd8, size: 148 bytes, params: 3, frame: 20 const env0_0 = a0; const env0_1 = a1; return ReactModule.useMemo(_fun73902, [(UseTheme)(), a1, (FluxModule).useStateFromStores([QuestStore], _fun73901, [a0])]); function _fun73901() { // fn#73901, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:22574, offset: 0x01d7a940, size: 27 bytes, params: 1, frame: 11 return QuestStore.getQuest(env0_0); } function _fun73902() { // fn#73902, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:22629, offset: 0x01d7ac6c, size: 156 bytes, params: 1, frame: 19 if (env0_2 == null) { return null; } const r5 = require ?? ((require(4002) /* metro dependency 4002: shared */).isThemeDark(Module00005) ? ThemeTypes.DARK : ThemeTypes.LIGHT); const getQuestAsset = AssetUtilsModule.getQuestAsset; const binding = env0_2; const QuestAssetType = AssetUtilsModule.QuestAssetType; const COSPONSOR_LOGO_TYPE = QuestAssetType.COSPONSOR_LOGO_TYPE; return Reflect.apply(getQuestAsset, AssetUtilsModule, [binding, COSPONSOR_LOGO_TYPE, r5]); } } function useClaimedCollectibleRewardMessage(a0) { // fn#73903, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:22844, offset: 0x01d7ad08, size: 610 bytes, params: 2, frame: 26 const intl = (IndexNativeModule).intl; const t = (IndexNativeModule).t; const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() { return UserStore.getCurrentUser(); }); const defaultRewardName = (QuestRewardUtilsModule).getDefaultRewardName(a0, currentUser); const collectibleQuestRewardDuration = (QuestRewardUtilsModule).getCollectibleQuestRewardDuration(a0); const collectibleQuestRewardExtendableExpirationDate = (QuestRewardUtilsModule).getCollectibleQuestRewardExtendableExpirationDate(a0); const isCollectibleQuestRewardPermanentWithPremiumSubscription2 = (QuestRewardUtilsModule).isCollectibleQuestRewardPermanentWithPremiumSubscription(a0); const isCollectibleQuestRewardPremiumExtendable2 = (QuestRewardUtilsModule).isCollectibleQuestRewardPremiumExtendable(a0); const isPremium = PremiumUtilsModule.isPremium; const TIER_2 = PremiumTypes.TIER_2; const isPremium2 = Reflect.apply(isPremium, PremiumUtilsModule, [currentUser, TIER_2]); if (collectibleQuestRewardDuration == null) { return intl.formatToPlainString(t.l9uXL8, {decorationName: defaultRewardName}); } const value5 = intl.formatToPlainString(t.o97tNn, {rewardName: defaultRewardName}); const formatToPlainString = intl.formatToPlainString; const PkyRZo = t.PkyRZo; return isCollectibleQuestRewardPremiumExtendable2 ? isCollectibleQuestRewardPermanentWithPremiumSubscription2 ? isPremium2 ? value5 : intl.formatToPlainString(t.ie4YK0, {rewardName: defaultRewardName, duration: collectibleQuestRewardDuration}) : isPremium2 ? Reflect.apply(formatToPlainString, intl, [PkyRZo, {rewardName: defaultRewardName, expirationDate: collectibleQuestRewardExtendableExpirationDate}]) : intl.formatToPlainString(t.yCpc0U, {duration: collectibleQuestRewardDuration, rewardName: defaultRewardName}) : intl.formatToPlainString(t.tTlItm, {duration: collectibleQuestRewardDuration, decorationName: defaultRewardName}); } function useLaunchInGameActivityQuest(a0) { // fn#73905, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:23835, offset: 0x01d7af6a, size: 77 bytes, params: 2, frame: 14 const activityApplicationId = (QuestTaskUtilsModule).getActivityApplicationId(a0); const object = {}; object.launchInGameActivity = (importDefault(9526) /* metro dependency 9526: useRefocusOrLaunchActivity */)({applicationId: activityApplicationId}); return object; } function useShouldShowQuestsActivityPanelItem(a0) { // fn#73907, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:24133, offset: 0x01d7afc6, size: 232 bytes, params: 2, frame: 20 var r0; var moduleValue; let value = a0; const value2 = null; const value3 = undefined; const userStatus = value2 == value ? value3 : value.userStatus; const value4 = value2 != userStatus; if (value4) { moduleValue = require(7091) /* metro dependency 7091: QuestDataUtils */; r0 = moduleValue.isDismissed(value.userStatus, (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent.ACTIVITY_PANEL); } else { r0 = value4; } const value7 = useIsQuestExpired(value2 != value ? value : value2); value = value2 != (value2 == value || value2 == value.userStatus ? value3 : value.userStatus.claimedAt); const value8 = (require(566) /* metro dependency 566: flux */).useStateFromStores([QuestStore], function() { return QuestStore.questEnrollmentBlockedUntil != null; }, []); r0 = !r0 ? value7 : r0; r0 = !r0 ? value : r0; r0 = !r0 ? value8 : r0; return !r0; } function useQuestsWithPreviewAccess() { // fn#73909, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:24485, offset: 0x01d7b0ae, size: 94 bytes, params: 1, frame: 15 return ReactModule.useMemo(_fun73911, [(FluxModule).useStateFromStoresArray([QuestStore], _fun73910)]); function _fun73910() { // fn#73910, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:24535, offset: 0x01d774cb, size: 37 bytes, params: 1, frame: 13 let value = environment.__proto__; value = QuestStore.quests.values(); const items2 = []; arraySpread(items2, value, 0, undefined); return items2; } function _fun73911() { // fn#73911, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:24582, offset: 0x01d7b10c, size: 28 bytes, params: 1, frame: 11 return env0_0.filter(function(a0) { return a0.preview; }); } } function useQuestHomeFilterOptions() { // fn#73913, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:24647, offset: 0x01d7b128, size: 45 bytes, params: 1, frame: 14 return ReactModule.useMemo(function() { return SORTED_QUEST_HOME_FILTER_GROUPS.map(_fun73915); }, [SORTED_QUEST_HOME_FILTER_GROUPS]); function _fun73914() { // fn#73914, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:24710, offset: 0x01d7b155, size: 28 bytes, params: 1, frame: 11 return SORTED_QUEST_HOME_FILTER_GROUPS.map(function(a0) { var r0; var r1; var r2; var item3; var value3; var iterator = a0[Symbol.iterator](); var iterator2 = iterator.next; var item2 = Reflect.apply(iterator2, iterator, []); var item = item2.value; item2 = item2.done ? undefined : iterator; var value = undefined; var value2 = item2 === value; var r4 = value2 ? value : item; if (value2) { r0 = item2; r1 = value; r2 = value2; } else { item3 = Reflect.apply(iterator2, item2, []); item = item3.value; item3 = item3.done ? undefined : item2; value3 = item3 === value; if (value3) { r0 = item3; r1 = value; r2 = value3; } else { r0 = item3; r1 = item; r2 = value3; } } if (!r2) { r0.return(); } var object = {}; object.heading = require(dependencyMap[37]).getFilterGroupHeadingText(r4); object.options = r1; return object; }); function _fun73915(a0) { // fn#73915, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:24721, offset: 0x01d7b171, size: 110 bytes, params: 2, frame: 16 var r0; var r1; var r2; var item3; var value3; const iterator = a0[Symbol.iterator](); const iterator2 = iterator.next; let item2 = Reflect.apply(iterator2, iterator, []); let item = item2.value; item2 = item2.done ? undefined : iterator; const value = undefined; const value2 = item2 === value; const r4 = value2 ? value : item; if (value2) { r0 = item2; r1 = value; r2 = value2; } else { item3 = Reflect.apply(iterator2, item2, []); item = item3.value; item3 = item3.done ? undefined : item2; value3 = item3 === value; if (value3) { r0 = item3; r1 = value; r2 = value3; } else { r0 = item3; r1 = item; r2 = value3; } } if (!r2) { r0.return(); } const object = {}; object.heading = (require(9505) /* metro dependency 9505: QuestCopyUtils */).getFilterGroupHeadingText(r4); object.options = r1; return object; } } } function useQuestHomeSortOptions() { // fn#73916, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:24827, offset: 0x01d7b1df, size: 33 bytes, params: 1, frame: 13 return ReactModule.useMemo(_fun73917, []); function _fun73917() { // fn#73917, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:24880, offset: 0x01d7b200, size: 46 bytes, params: 1, frame: 11 var environment; const Object = global.Object; const keys = Object.keys; const value = environment.__proto__; return Reflect.apply(keys, Object, [QuestHomeSortMethods]).map(function(a0) { var object = {}; object.label = require(dependencyMap[37]).getSortMethodText(QuestHomeSortMethods[a0]); object.value = QuestHomeSortMethods[a0]; return object; }); } } function useQuestHomeSortingFilteringAnalytics({selectedSortMethod, selectedFilters, numQuestsVisible}) { // fn#73919, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:25011, offset: 0x01d7b271, size: 144 bytes, params: 2, frame: 17 const env0_3 = ReactModule.useRef(null); const env0_4 = ReactModule.useRef(null); ReactModule.useEffect(_fun73920, [selectedSortMethod]); ReactModule.useEffect(_fun73921, [selectedFilters, numQuestsVisible]); function _fun73920() { // fn#73920, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:25176, offset: 0x01d7b301, size: 86 bytes, params: 1, frame: 17 const defaultImport = AnalyticsUtils; const track = defaultImport.track; const QUEST_HOME_SORT_METHOD_CHANGED = AnalyticEvents.QUEST_HOME_SORT_METHOD_CHANGED; const selectedSortMethodBinding = selectedSortMethod; const binding = env0_3; Reflect.apply(track, defaultImport, [QUEST_HOME_SORT_METHOD_CHANGED, {sort_method: selectedSortMethodBinding, previous_sort_method: binding.current}]); binding.current = selectedSortMethodBinding; } function _fun73921() { // fn#73921, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:25309, offset: 0x01d7b357, size: 128 bytes, params: 1, frame: 18 const value2 = selectedFilters.map(function(a0) { return a0.filter; }); const defaultImport = AnalyticsUtils; const track = defaultImport.track; const QUEST_HOME_FILTERS_CHANGED = AnalyticEvents.QUEST_HOME_FILTERS_CHANGED; Reflect.apply(track, defaultImport, [QUEST_HOME_FILTERS_CHANGED, {filters: value2, previous_filters: env0_4.current ?? [], num_quests_visible: numQuestsVisible}]); env0_4.current = value2; } } function useShouldShowQuestPreviewOverrides(a0) { // fn#73923, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:25523, offset: 0x01d7b3e1, size: 45 bytes, params: 2, frame: 13 return ReactModule.useMemo(_fun73924, []) || a0.preview; function _fun73924() { // fn#73924, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:25537, offset: 0x01d7b40e, size: 45 bytes, params: 1, frame: 10 var r1; let value = environment.__proto__; value = UserStore.getCurrentUser(); if (value == null) { r1 = undefined; } else { value = value.isStaff(); r1 = value; } return r1 === true; } } function useFetchQuestHomeBounties() { // fn#73925, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:25702, offset: 0x01d7b43b, size: 424 bytes, params: 1, frame: 21 const value = a0; const previewAdCreativeIds = (value !== undefined ? value : {}).previewAdCreativeIds; var env0_4Binding = undefined; const QuestHomeBountiesExperiment = (QuestHomeBountiesExperimentModule).QuestHomeBountiesExperiment; let useConfig = QuestHomeBountiesExperiment.useConfig; let QUEST_HOME_MOBILE = QuestsExperimentLocations.QUEST_HOME_MOBILE; const enabled = Reflect.apply(useConfig, QuestHomeBountiesExperiment, [{location: QUEST_HOME_MOBILE}]).enabled; const BountyStaleRefreshQuestHomeExperiment = (ExperimentsModule).BountyStaleRefreshQuestHomeExperiment; useConfig = BountyStaleRefreshQuestHomeExperiment.useConfig; QUEST_HOME_MOBILE = QuestsExperimentLocations.QUEST_HOME_MOBILE; const enabled2 = Reflect.apply(useConfig, BountyStaleRefreshQuestHomeExperiment, [{location: QUEST_HOME_MOBILE}]).enabled; const value2 = (UseVideoModalPlacementEnabledModule).useVideoModalPlacementEnabled('useFetchQuestHomeBounties'); const QuestPlacement = (QuestTypesModule).QuestPlacement; const r8 = value2 ? QuestPlacement.VIDEO_MODAL_MOBILE : QuestPlacement.QUEST_HOME_MOBILE_CAROUSEL; var [property, env0_4] = env0_4Binding(ReactModule.useState(enabled), 2); const {isFetching, questHomeBounties} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([BountyStore], function() { var bountyStoreBinding = BountyStore; return {isFetching: bountyStoreBinding.isFetchingQuestHomeBounties, questHomeBounties: bountyStoreBinding.questHomeBounties}; }); ReactModule.useEffect(_fun73927, [enabled, enabled2, previewAdCreativeIds, r8]); object = {}; if (enabled) { object.questHomeBounties = questHomeBounties; object.isLoading = property || isFetching; } else { object.questHomeBounties = []; object.isLoading = false; } return object; function _fun73927() { // fn#73927, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:26354, offset: 0x01d7b604, size: 117 bytes, params: 1, frame: 14 var environment; var window; var setInterval; if (enabled) { (function() { return _loadBounties.apply(this, arguments); })(); if (enabled) { window = global.window; setInterval = window.setInterval; value = environment.__proto__; var env0_2 = Reflect.apply(setInterval, window, [_fun73933, MINUTE]); return _fun73934; } return function() { env0_0 = true; }; } function _loadBounties() { // fn#73929, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:26591, offset: 0x01d7b679, size: 53 bytes, params: 1, frame: 13 var environment; const value = environment.__proto__.__proto__; return env2_3(_fun73931).apply(this, arguments); function* _fun73931() { // fn#73931, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:26640, offset: 0x01d7b6b9, size: 259 bytes, params: 1, frame: 16 var value4; var length; var value5; var value6; var binding; var binding2; var property; var value7; var fetchQuestHomeBounties; var questHomeBounties; var value8; var value9; var value10; var binding3; var value11; var fetchBountyPreview; var bountyPreview; var value12; var value13; var error; if (true) { var Date = global.Date; value = Date.now(); value = environment.__proto__.__proto__.__proto__; try { } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { value4 = require == null; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } if (value4) { value6 = environment.__proto__.__proto__.__proto__.__proto__; try { binding = env4_0; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { binding2 = env4_2; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { property = binding2[54]; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { value7 = binding(property); } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { fetchQuestHomeBounties = value7.fetchQuestHomeBounties; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { binding = env3_3; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { questHomeBounties = Reflect.apply(fetchQuestHomeBounties, value7, [binding]); } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } yield questHomeBounties; try { value8 = undefined; value9 = false; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } if (value9) { if (!previewAdCreativeIds) { env3_4(false); } return value8; } if (!previewAdCreativeIds) { env3_4(false); } } else { try { } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { length = require.length; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { value5 = length > 0; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } if (value5) { value10 = environment.__proto__.__proto__.__proto__.__proto__; try { binding = env4_0; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { binding3 = env4_2; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { property = binding3[54]; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { value11 = binding(property); } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { fetchBountyPreview = value11.fetchBountyPreview; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { bountyPreview = Reflect.apply(fetchBountyPreview, value11, [require]); } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } yield bountyPreview; try { value12 = undefined; value13 = false; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } if (value13) { if (!previewAdCreativeIds) { env3_4(false); } return value12; } if (!previewAdCreativeIds) { env3_4(false); } return undefined; } try { binding = env4_0; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { binding2 = env4_2; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { property = binding2[54]; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { value7 = binding(property); } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { fetchQuestHomeBounties = value7.fetchQuestHomeBounties; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { binding = env3_3; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } try { questHomeBounties = Reflect.apply(fetchQuestHomeBounties, value7, [binding]); } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } yield questHomeBounties; try { value8 = undefined; value9 = false; } catch (error) { if (previewAdCreativeIds) { throw error; } env3_4(false); throw error; } if (value9) { if (!previewAdCreativeIds) { env3_4(false); } return value8; } if (!previewAdCreativeIds) { env3_4(false); } } } } } function _fun73933() { // fn#73933, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:26442, offset: 0x01d7b7bc, size: 53 bytes, params: 1, frame: 10 const Date = global.Date; let value = Date.now(); value -= env0_1; if (value > env2_37) { loadBounties(); } } function _fun73934() { // fn#73934, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:26489, offset: 0x01d7b7f1, size: 36 bytes, params: 1, frame: 11 global.window.clearInterval(env0_2); } } } function useQuestHomeBounties() { // fn#73935, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:26927, offset: 0x01d7b815, size: 60 bytes, params: 1, frame: 13 return (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([BountyStore], function() { var bountyStoreBinding = BountyStore; return {questHomeBounties: bountyStoreBinding.questHomeBounties, isFetching: bountyStoreBinding.isFetchingQuestHomeBounties}; }); function _fun73936() { // fn#73936, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:27006, offset: 0x01d7b851, size: 33 bytes, params: 1, frame: 3 const bountyStoreBinding = BountyStore; return {questHomeBounties: bountyStoreBinding.questHomeBounties, isFetching: bountyStoreBinding.isFetchingQuestHomeBounties}; } } function useQuestBarImpressionSurvey(a0) { // fn#73937, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:27127, offset: 0x01d7b872, size: 128 bytes, params: 2, frame: 17 const env0_0 = a0; const value2 = undefined; const DropsOptedOut = (UserSettingsModule).DropsOptedOut; const value3 = DropsOptedOut.useSetting(); const userStatus = a0.userStatus; return ReactModule.useCallback(_fun73938, [value3, (userStatus == null ? value2 : userStatus.enrolledAt) != null, a0.id]); function _fun73938() { // fn#73938, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:27287, offset: 0x01d7b8f2, size: 114 bytes, params: 1, frame: 15 var binding; var value2; var SurveyActionTypes; if (!result) { binding = env0_1; value2 = environment.__proto__; SurveyActionTypes = (require(9534) /* metro dependency 9534: SurveyActionTypes */).SurveyActionTypes; (require(9535) /* metro dependency 9535: QualtricsActionCreators */).fireSurveyAction(binding ? SurveyActionTypes.AD_IMPRESSION_QUEST_BAR_OPT_OUT : SurveyActionTypes.AD_IMPRESSION_QUEST_BAR_OPT_IN, {quest_id: env0_0.id}); } } } } function _fun73775(a0) { // fn#73775, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:6563, offset: 0x00e46f8c, size: 10 bytes, params: 2, frame: 1 return a0.id; } function hasEnrolledTimeLapsed(a0, a1) { // fn#73836, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9669:12046, offset: 0x01d791b3, size: 154 bytes, params: 3, frame: 15 var Date; var value5; var date; let userStatus = a0.userStatus; const value = undefined; const value2 = (userStatus == null ? value : userStatus.completedAt) != null; userStatus = a0.userStatus; let r0 = (userStatus == null ? value : userStatus.enrolledAt) != null && !value2; if (r0) { Date = global.Date; value5 = Date.now(); Date = global.Date; userStatus = a0.userStatus; date = new Date(userStatus == null ? value : userStatus.enrolledAt); date = value5 - date.getTime(); date = date > a1; r0 = date; } return r0; } global.__d(_fun73746, 9483, [5, 57, 31, 1949, 1379, 5040, 1878, 7092, 7094, 7093, 6528, 661, 1880, 566, 9479, 9484, 477, 9493, 7108, 6531, 7091, 672, 7114, 7116, 7119, 9500, 22, 9511, 9503, 9513, 1948, 9520, 6535, 9522, 7120, 6777, 9524, 9505, 8461, 7121, 9525, 1244, 1856, 4242, 7110, 4048, 4002, 9495, 3802, 9526, 683, 1360, 9528, 9529, 9532, 3829, 9534, 9535, 2]) /* metro module 9483, dependencies: [5, 57, 31, 1949, 1379, 5040, 1878, 7092, 7094, 7093, 6528, 661, 1880, 566, 9479, 9484, 477, 9493, 7108, 6531, 7091, 672, 7114, 7116, 7119, 9500, 22, 9511, 9503, 9513, 1948, 9520, 6535, 9522, 7120, 6777, 9524, 9505, 8461, 7121, 9525, 1244, 1856, 4242, 7110, 4048, 4002, 9495, 3802, 9526, 683, 1360, 9528, 9529, 9532, 3829, 9534, 9535, 2] */;