/* Metro module 13568; source: modules/quests/native/QuestHooks.native.tsx; dependencies: [5, 31, 3849, 4234, 7093, 6528, 9488, 482, 13569, 7108, 566, 6531, 7091, 13590, 10915, 4007, 7556, 9483, 9479, 5176, 9495, 7116, 8045, 7114, 8105, 6772, 8087, 9527, 2] */ function _fun103102(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#103102, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:6, offset: 0x02258a64, size: 373 bytes, params: 8, frame: 21 const env0_0 = require; const closure = useIsMobileQuestDockRenderedBase; const closure2 = useIsMobileQuestDockRendered; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importDefault(5) /* metro dependency 5 */; const env0_4 = importAll(31) /* metro dependency 31 */; const actionSheetStore = importDefault(3849) /* metro dependency 3849: ActionSheetStore */; const applicationStore = importDefault(4234) /* metro dependency 4234: ApplicationStore */; const questStore = importDefault(7093) /* metro dependency 7093: QuestStore */; const questConstantsModule = require(6528) /* metro dependency 6528: QuestConstants */; const env0_8 = questConstantsModule.QUEST_REWARD_CODE_CLAIM_BOTTOM_SHEET_KEY; const env0_9 = questConstantsModule.QuestVariants; const env0_10 = (require(9488) /* metro dependency 9488: CaptchaConstants */).CAPTCHA_MODAL_KEY; const env0_11 = (require(482) /* metro dependency 482: Constants */).ThemeTypes; (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/quests/native/QuestHooks.native.tsx'); exports.useMobileQuestDockHeight = useMobileQuestDockHeight; exports.useMobileQuestDock = useMobileQuestDock; exports.useIsMobileQuestDockVisibleToUser = useIsMobileQuestDockVisibleToUser; exports.useIsMobileQuestDockRenderedBase = closure; exports.useIsMobileQuestDockRendered = closure2; exports.useQuestGameLogotypeAssetUrl = useQuestGameLogotypeAssetUrl; exports.useQuestDockHeroAsset = useQuestDockHeroAsset; exports.useHasWatchVideoOnMobileTasks = useHasWatchVideoOnMobileTasks; exports.useMobileActivityQuest = useMobileActivityQuest; } function useIsMobileQuestDockRenderedBase(a0) { // fn#103103, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:268, offset: 0x02258bd9, size: 391 bytes, params: 2, frame: 23 var r6; var r0; var r1; var moduleValue2; const value2 = undefined; const value3 = (importDefault(7556) /* metro dependency 7556: useIsWindowLarge */)(); const value4 = (require(566) /* metro dependency 566: flux */).useStateFromStores([QuestStore], _fun103104, []); const userStatus = a0 == null ? value2 : a0.userStatus; const value5 = userStatus != null; if (value5) { moduleValue2 = require(7091) /* metro dependency 7091: QuestDataUtils */; r6 = moduleValue2.isDismissed(a0.userStatus, (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent.QUEST_BAR_MOBILE); } else { r6 = value5; } const value6 = (a0 == null || a0.userStatus == null ? value2 : a0.userStatus.claimedAt) != null; let value = require(9483) /* metro dependency 9483: QuestHooks */; value = value.useIsQuestExpired(a0); const isEligibleForQuests = (require(9479) /* metro dependency 9479: QuestsEligibility */).getIsEligibleForQuests(); const YouBarExperiment = (require(5176) /* metro dependency 5176: YouBarExperiment */).YouBarExperiment; const {enabled, questDockEnabled} = YouBarExperiment.useConfig({location: 'QuestDock'}); if (value4) { value = a0 == null; r1 = value || value3; r1 = !r1 ? enabled && !questDockEnabled : r1; value = !r1; r0 = value; } else { r0 = a0 != null && isEligibleForQuests; r0 = r0 && !value; r0 = r0 && !value6; r0 = r0 && !r6; r0 = r0 && !value3; r0 = r0 && !(enabled && !questDockEnabled); } return r0; } function useIsMobileQuestDockRendered() { // fn#103105, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:852, offset: 0x02258d9c, size: 263 bytes, params: 1, frame: 23 const defaultImport = importDefault(7108) /* metro dependency 7108: NewAdRequestBehaviorExperiment */; const useConfig = defaultImport.useConfig; const enableNewRequestBehavior = Reflect.apply(useConfig, defaultImport, [{location: 'QuestMobileDock'}]).enableNewRequestBehavior; const fluxModule = require(566) /* metro dependency 566: flux */; let useStateFromStores = fluxModule.useStateFromStores; const value2 = Reflect.apply(useStateFromStores, fluxModule, [[QuestStore], function() { return QuestStore.getQuestPreviewOverride(require(dependencyMap[11]).QuestContent.QUEST_BAR_MOBILE); }, []]); const value3 = fluxModule.useStateFromStores([QuestStore], _fun103107); const value4 = fluxModule.useStateFromStores([QuestStore], _fun103108); const moduleValue4 = fluxModule; useStateFromStores = moduleValue4.useStateFromStores; return useIsMobileQuestDockRenderedBase(value2 ?? (enableNewRequestBehavior ? Reflect.apply(useStateFromStores, moduleValue4, [[QuestStore], _fun103109, [value4]]) : value3)); } function useMobileQuestDockHeight() { // fn#103110, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:1719, offset: 0x02258fd4, size: 53 bytes, params: 1, frame: 13 const value2 = useIsMobileQuestDockRendered(); let value = require(13569) /* metro dependency 13569: QuestDockHooks */; value = value.useQuestDockExternalOffset(); return value2 ? value : 0; } function useMobileQuestDock() { // fn#103111, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:1866, offset: 0x02259009, size: 204 bytes, params: 1, frame: 23 const defaultImport = importDefault(7108) /* metro dependency 7108: NewAdRequestBehaviorExperiment */; const useConfig = defaultImport.useConfig; const enableNewRequestBehavior = Reflect.apply(useConfig, defaultImport, [{location: 'QuestMobileDock'}]).enableNewRequestBehavior; const value2 = (require(566) /* metro dependency 566: flux */).useStateFromStores([QuestStore], function() { return QuestStore.getQuestPreviewOverride(require(dependencyMap[11]).QuestContent.QUEST_BAR_MOBILE); }, []); const value = (require(566) /* metro dependency 566: flux */).useStateFromStores([QuestStore], _fun103113); const defaultImport2 = importDefault(13590) /* metro dependency 13590: useQuestForPlacement */; const QuestPlacement = (require(6531) /* metro dependency 6531: QuestTypes */).QuestPlacement; const MOBILE_HOME_DOCK_AREA = QuestPlacement.MOBILE_HOME_DOCK_AREA; return value2 ?? (enableNewRequestBehavior ? defaultImport2(MOBILE_HOME_DOCK_AREA) : value); } function useIsMobileQuestDockVisibleToUser(a0, a1) { // fn#103114, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:2391, offset: 0x022590d5, size: 208 bytes, params: 3, frame: 22 const value = a1; const env0_0 = a0; const value3 = (require(10915) /* metro dependency 10915: isChannelFocusedNative */).useIsChannelFocused(); const value4 = (require(4007) /* metro dependency 4007: NavigationRouteUtilsNative */).useCurrentNavigationRouteName(); const navigationRouteUtilsNativeModule = require(4007) /* metro dependency 4007: NavigationRouteUtilsNative */; return value && !value3 && (navigationRouteUtilsNativeModule.coerceGuildsRoute({name: value4}) != null || (require(566) /* metro dependency 566: flux */).useStateFromStores([QuestStore], _fun103115) && (require(566) /* metro dependency 566: flux */).useStateFromStores([ActionSheetStore], _fun103116)); } function useQuestGameLogotypeAssetUrl(a0) { // fn#103117, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:2903, offset: 0x022591f8, size: 44 bytes, params: 2, frame: 14 const env0_0 = a0; return env0_4.useMemo(_fun103118, [a0]); } function useQuestDockHeroAsset(a0) { // fn#103119, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:3068, offset: 0x02259276, size: 44 bytes, params: 2, frame: 14 const env0_0 = a0; return env0_4.useMemo(_fun103120, [a0]); } function useHasWatchVideoOnMobileTasks(a0) { // fn#103121, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:3439, offset: 0x0225937f, size: 44 bytes, params: 2, frame: 14 const env0_0 = a0; return env0_4.useMemo(_fun103122, [a0]); } function useMobileActivityQuest(a0) { // fn#103123, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:3583, offset: 0x022593df, size: 403 bytes, params: 2, frame: 22 const env0_0 = a0; const value2 = undefined; const activityApplicationId = (require(7116) /* metro dependency 7116: QuestTaskUtils */).getActivityApplicationId(a0); const application = (require(566) /* metro dependency 566: flux */).useStateFromStores([ApplicationStore], _fun103124); const canLaunchFrame2 = (require(8045) /* metro dependency 8045: canLaunchFrame */).canLaunchFrame(application); const env0_3 = canLaunchFrame2; const r3 = (require(7114) /* metro dependency 7114: QuestUtils */).canLaunchActivity(a0) && a0.config.features.includes(QuestVariants.MOBILE_ACTIVITY_QUEST) && (importDefault(8105) /* metro dependency 8105: isActivitySupportedOnClientPlatform */)(application == null || application.embeddedActivityConfig == null ? value2 : application.embeddedActivityConfig.supported_platforms) && (canLaunchFrame2 || (application == null || application.bot == null ? value2 : application.bot.id) != null); const binding = r3; binding.useEffect(_fun103125, [application, activityApplicationId, a0.config.features]); const useCallback = binding.useCallback; let value = env0_3(_fun103127); value = Reflect.apply(useCallback, binding, [value, [canLaunchFrame2, application, r3]]); return {isMobileActivityQuest: r3, questApplication: application, launchMobileActivity: value}; } function _fun103104() { // fn#103104, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:367, offset: 0x02258d60, size: 60 bytes, params: 1, frame: 13 const value = environment.__proto__; const getQuestPreviewOverride = QuestStore.getQuestPreviewOverride; const QuestContent = (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent; const QUEST_BAR_MOBILE = QuestContent.QUEST_BAR_MOBILE; return Reflect.apply(getQuestPreviewOverride, QuestStore, [QUEST_BAR_MOBILE]) != null; } function _fun103107() { // fn#103107, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:1116, offset: 0x02258ed9, size: 96 bytes, params: 1, frame: 18 let value = environment.__proto__; const questDataUtilsModule = require(7091) /* metro dependency 7091: QuestDataUtils */; const getQuestForPlacement = questDataUtilsModule.getQuestForPlacement; const quests = QuestStore.quests; const questToDeliverForPlacement = QuestStore.questToDeliverForPlacement; const QuestPlacement = (require(6531) /* metro dependency 6531: QuestTypes */).QuestPlacement; const MOBILE_HOME_DOCK_AREA = QuestPlacement.MOBILE_HOME_DOCK_AREA; value = Reflect.apply(getQuestForPlacement, questDataUtilsModule, [quests, questToDeliverForPlacement, MOBILE_HOME_DOCK_AREA]); const value2 = null; return value2 != value ? value : value2; } function _fun103108() { // fn#103108, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:1304, offset: 0x02258f39, size: 71 bytes, params: 1, frame: 13 let value = environment.__proto__; const questAdDecisionByPlacement = QuestStore.questAdDecisionByPlacement; const get = questAdDecisionByPlacement.get; const QuestPlacement = (require(6531) /* metro dependency 6531: QuestTypes */).QuestPlacement; const MOBILE_HOME_DOCK_AREA = QuestPlacement.MOBILE_HOME_DOCK_AREA; value = Reflect.apply(get, questAdDecisionByPlacement, [MOBILE_HOME_DOCK_AREA]); const value2 = null; return value2 != value ? value : value2; } function _fun103109() { // fn#103109, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:1457, offset: 0x02258f80, size: 84 bytes, params: 1, frame: 13 const value2 = null; return value2 != (value2 == env0_0 ? undefined : env0_0.questId) && value2 != QuestStore.quests.get(env0_0.questId) ? QuestStore.quests.get(env0_0.questId) : value2; } function _fun103115() { // fn#103115, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:2599, offset: 0x022591a5, size: 45 bytes, params: 1, frame: 12 return env0_0 != null && QuestStore.isClaimingReward(env0_0.id); } function _fun103116() { // fn#103116, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:2674, offset: 0x022591d2, size: 38 bytes, params: 1, frame: 11 const value = environment.__proto__; const key = ActionSheetStore.getKey(); return key === CAPTCHA_MODAL_KEY || key === QUEST_REWARD_CODE_CLAIM_BOTTOM_SHEET_KEY; } function _fun103118() { // fn#103118, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:2962, offset: 0x02259224, size: 82 bytes, params: 1, frame: 18 const assetUtilsModule = require(9495) /* metro dependency 9495: AssetUtils */; const getQuestAsset = assetUtilsModule.getQuestAsset; const binding = env0_0; const QuestAssetType = assetUtilsModule.QuestAssetType; const LOGO_TYPE = QuestAssetType.LOGO_TYPE; const DARK = ThemeTypes.DARK; return Reflect.apply(getQuestAsset, assetUtilsModule, [binding, LOGO_TYPE, DARK]).url; } function _fun103120() { // fn#103120, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:3120, offset: 0x022592a2, size: 221 bytes, params: 1, frame: 18 var r1; var moduleValue2; var resolveAsset; const value = environment.__proto__; const assetUtilsModule = require(9495) /* metro dependency 9495: AssetUtils */; const getQuestAsset = assetUtilsModule.getQuestAsset; let binding = env0_0; const QuestAssetType = assetUtilsModule.QuestAssetType; const QUEST_BAR_HERO = QuestAssetType.QUEST_BAR_HERO; const value3 = Reflect.apply(getQuestAsset, assetUtilsModule, [binding, QUEST_BAR_HERO]); const questBarHeroVideo = binding.config.assets.questBarHeroVideo; const value4 = null; if (value4 != questBarHeroVideo) { moduleValue2 = assetUtilsModule; resolveAsset = moduleValue2.resolveAsset; binding = env0_0; r1 = Reflect.apply(resolveAsset, moduleValue2, [binding.id, binding.config.assets.questBarHeroVideo]); } else { r1 = value4; } const isAnimated = value3.isAnimated; const url = value3.url; return {staticUrl: isAnimated ? url.replace(assetUtilsModule.EXTENSION_RE, '.png') : url, videoAsset: r1}; } function _fun103122() { // fn#103122, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:3499, offset: 0x022593ab, size: 52 bytes, params: 1, frame: 12 const value = environment.__proto__; return (require(7116) /* metro dependency 7116: QuestTaskUtils */).hasWatchVideoOnMobileTasks({config: env0_0}); } function _fun103124() { // fn#103124, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:3700, offset: 0x02259572, size: 27 bytes, params: 1, frame: 11 return ApplicationStore.getApplication(env0_1); } function _fun103125() { // fn#103125, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:3988, offset: 0x0225958d, size: 124 bytes, params: 1, frame: 14 var value6; var defaultImport; if (application == null && env0_1 != null && env0_0.config.features.includes(QuestVariants.MOBILE_ACTIVITY_QUEST)) { value6 = environment.__proto__; defaultImport = importDefault(6772) /* metro dependency 6772: ApplicationActionCreators */; defaultImport.fetchApplications([env0_1], false); } } function* _fun103127() { // fn#103127, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13758:4149, offset: 0x02259614, size: 241 bytes, params: 1, frame: 15 var id; var value4; var value5; var launchActivityInBotDM; var object2; var value7; var value8; if (true) { value = environment.__proto__; if (env1_4) { if (env1_3) { value7 = environment.__proto__.__proto__; value8 = env2_1(env2_2[26]); yield value8.launchFrame({applicationId: dependencyMap.id}); if (false) { return undefined; } return undefined; } id = dependencyMap == null || dependencyMap.bot == null ? undefined : dependencyMap.bot.id; if (id == null) { return undefined; } value4 = environment.__proto__.__proto__; value5 = env2_0(env2_2[27]); launchActivityInBotDM = value5.launchActivityInBotDM; object2 = {}; id = dependencyMap.id; object2.appId = id; id = dependencyMap.bot.id; object2.botId = id; object2.analyticsLocations = []; yield Reflect.apply(launchActivityInBotDM, value5, [object2]); if (false) { return undefined; } } } }