/* Metro module 9948; source: modules/quests/hooks/RewardCodeClaimHooks.tsx; dependencies: [5, 57, 31, 9484, 6531, 9949, 9513, 9519, 9517, 9518, 7121, 7120, 3847, 2] */ function _fun77867(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#77867, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10134:6, offset: 0x01e0efca, size: 185 bytes, params: 8, frame: 20 const env0_0 = require; const closure = useHandleRedemptionLinkClick; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importDefault(5) /* metro dependency 5 */; const env0_4 = importDefault(57) /* metro dependency 57 */; const env0_5 = importAll(31) /* metro dependency 31 */; (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/quests/hooks/RewardCodeClaimHooks.tsx'); exports.useClaimOrFetchRewardCode = useClaimOrFetchRewardCode; exports.useHandleRedemptionLinkClick = closure; exports.useClaimRewardCodePrimaryCtaClickHandler = useClaimRewardCodePrimaryCtaClickHandler; } function useHandleRedemptionLinkClick({quest, redemptionLink, questContent, questContentPosition, sourceQuestContent}) { // fn#77868, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10134:126, offset: 0x01e0f083, size: 181 bytes, params: 2, frame: 21 const value2 = (require(9949) /* metro dependency 9949: AnalyticsHooks */).useTrackQuestContentClickedWithImpression(); return value2.useCallback(_fun77869, [quest.id, questContent, questContentPosition, sourceQuestContent, value2, (require(9513) /* metro dependency 9513: ContentImpressionTrackerHooks */).useQuestImpressionId(), redemptionLink]); } function useClaimOrFetchRewardCode({isClaimingReward, isFetchingRewardCode, questContent, quest, rewardCode, preview}) { // fn#77870, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10134:1484, offset: 0x01e0f371, size: 312 bytes, params: 2, frame: 27 const env0_4 = rewardCode; const env0_5 = preview; let binding = env0_5; let useState = binding.useState; const value2 = Reflect.apply(useState, binding, [false]); binding = env0_4; const value3 = binding(value2, 2); const property = value3[0]; const property2 = value3[1]; const binding2 = env0_5; useState = binding2.useState; const value4 = binding(Reflect.apply(useState, binding2, [false]), 2); const property3 = value4[0]; const env0_9 = value4[1]; const value6 = env0_5.useCallback(_fun77871(), []); const value7 = env0_5.useCallback(_fun77875, []); env0_5.useEffect(_fun77876, [value6, value7, property, isClaimingReward, property3, isFetchingRewardCode, questContent, quest, rewardCode, preview]); return {claimCode: value6, fetchCode: value7, hasError: property, setHasError: property2}; } function useClaimRewardCodePrimaryCtaClickHandler(a0) { // fn#77877, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10134:2397, offset: 0x01e0f67e, size: 334 bytes, params: 2, frame: 27 const claimCode = a0.claimCode; const fetchCode = a0.fetchCode; const hasError = a0.hasError; const onDismiss = a0.onDismiss; const quest = a0.quest; const questContent = a0.questContent; const env0_5 = questContent; const questContentCTA = a0.questContentCTA; const value = undefined; const r10 = value !== questContentCTA ? questContentCTA : (require(7120) /* metro dependency 7120: AnalyticsTypes */).QuestContentCTA.GET_REWARD_CODE; const questContentPosition = a0.questContentPosition; const redemptionLink = a0.redemptionLink; const sourceQuestContent = a0.sourceQuestContent; const value4 = (require(9949) /* metro dependency 9949: AnalyticsHooks */).useTrackQuestContentClickedWithImpression(); const value5 = (require(9513) /* metro dependency 9513: ContentImpressionTrackerHooks */).useQuestImpressionId(); const value6 = useHandleRedemptionLinkClick(a0); const binding = env0_5; const useCallback = binding.useCallback; const userStatus = quest.userStatus; return Reflect.apply(useCallback, binding, [_fun77878, [claimCode, fetchCode, hasError, onDismiss, quest.id, userStatus == null ? value : userStatus.claimedAt, questContent, r10, questContentPosition, value4, value5, redemptionLink, sourceQuestContent, value6]]); } function _fun77869() { // fn#77869, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10134:364, offset: 0x01e0f138, size: 569 bytes, params: 1, frame: 27 var value2; var moduleValue; var binding; var questBinding; var id; var questContentBinding; const QuestContentCTA = (require(7120) /* metro dependency 7120: AnalyticsTypes */).QuestContentCTA; var questContentPositionBinding; var sourceQuestContentBinding; var moduleValue2; var captureAdUserAction; const AdUserActionType = (require(9518) /* metro dependency 9518: captureAdUserActionTypes */).AdUserActionType; var CLICK_INTERNAL; const AdCreativeType = (require(7121) /* metro dependency 7121: AdCreativeType */).AdCreativeType; var QUEST; var moduleValue3; if (redemptionLink != null) { value2 = environment.__proto__; moduleValue = require(9519) /* metro dependency 9519: AdAnalyticsInterfaceExperiment */; if (moduleValue.shouldMigrateToAdAnalyticsInterface((require(9519) /* metro dependency 9519: AdAnalyticsInterfaceExperiment */).AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL, 'quest_reward_code_redemption_link')) { moduleValue2 = require(9517) /* metro dependency 9517: captureAdUserAction */; captureAdUserAction = moduleValue2.captureAdUserAction; CLICK_INTERNAL = AdUserActionType.CLICK_INTERNAL; QUEST = AdCreativeType.QUEST; questBinding = quest; id = questBinding.id; questContentBinding = questContent; sourceQuestContentBinding = sourceQuestContent; binding = env0_6; questContentPositionBinding = questContentPosition; Reflect.apply(captureAdUserAction, moduleValue2, [{type: CLICK_INTERNAL, adCreativeType: QUEST, adCreativeId: id, questContentCTA: QuestContentCTA.REDEEM_REWARD, surfaceId: questContentBinding, sourceQuestContent: sourceQuestContentBinding, impressionId: binding, questContentPosition: questContentPositionBinding}]); moduleValue3 = require(9517) /* metro dependency 9517: captureAdUserAction */; captureAdUserAction = moduleValue3.captureAdUserAction; CLICK_INTERNAL = AdUserActionType.CLICK_INTERNAL; QUEST = AdCreativeType.QUEST; id = questBinding.id; Reflect.apply(captureAdUserAction, moduleValue3, [{type: CLICK_INTERNAL, adCreativeType: QUEST, adCreativeId: id, questContentCTA: QuestContentCTA.VISIT_REDEMPTION_LINK, surfaceId: questContentBinding, sourceQuestContent: sourceQuestContentBinding, impressionId: binding, questContentPosition: questContentPositionBinding}]); } else { binding = env0_5; questBinding = quest; id = questBinding.id; questContentBinding = questContent; questContentPositionBinding = questContentPosition; sourceQuestContentBinding = sourceQuestContent; binding({questId: id, questContent: questContentBinding, questContentCTA: QuestContentCTA.REDEEM_REWARD, questContentPosition: questContentPositionBinding, sourceQuestContent: sourceQuestContentBinding}); id = questBinding.id; binding({questId: id, questContent: questContentBinding, questContentCTA: QuestContentCTA.VISIT_REDEMPTION_LINK, questContentPosition: questContentPositionBinding, sourceQuestContent: sourceQuestContentBinding}); } (importDefault(3847) /* metro dependency 3847: openURL */)(redemptionLink); } } function _fun77871() { // fn#77871, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10134:1722, offset: 0x01e0f4a9, size: 36 bytes, params: 1, frame: 12 const env0_0 = env1_3(_fun77873); return _fun77874; } function _fun77875(a0) { // fn#77875, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10134:1918, offset: 0x01e0f567, size: 63 bytes, params: 2, frame: 12 var value; var property; var error; try { value = environment.__proto__; property = dependencyMap[3]; value = require(property); value.fetchQuestRewardCode(a0); } catch (error) { value = environment; env0_7(true); } } function _fun77876() { // fn#77876, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10134:2000, offset: 0x01e0f5a6, size: 216 bytes, params: 1, frame: 17 var binding; var value4; var userStatus; var id; var value5; let r1 = preview === true || rewardCode != null; r1 = !r1 ? env0_6 : r1; r1 = !r1 ? isClaimingReward : r1; r1 = !r1 ? env0_8 : r1; r1 = !r1 ? isFetchingRewardCode : r1; if (!r1) { value4 = undefined; env0_7(false); userStatus = quest.userStatus; if ((userStatus == null ? value4 : userStatus.claimedAt) == null) { binding = env0_10; id = quest.id; value5 = environment.__proto__; binding(id, (require(6531) /* metro dependency 6531: QuestTypes */).QuestRewardCodePlatforms.CROSS_PLATFORM, questContent); } else { userStatus = quest.userStatus; if ((userStatus == null ? value4 : userStatus.claimedAt) != null) { env0_11(quest.id); } } } } function _fun77878() { // fn#77878, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10134:2824, offset: 0x01e0f7cc, size: 433 bytes, params: 1, frame: 19 var claimCodeBinding; var id; var value3; var moduleValue; var object2; var moduleValue2; var captureAdUserAction; if (hasError) { if (quest.userStatus?.claimedAt != null) { fetchCode(quest.id); } else { claimCodeBinding = claimCode; id = quest.id; value3 = environment.__proto__; claimCodeBinding(id, (require(6531) /* metro dependency 6531: QuestTypes */).QuestRewardCodePlatforms.CROSS_PLATFORM, questContent); moduleValue = require(9519) /* metro dependency 9519: AdAnalyticsInterfaceExperiment */; if (moduleValue.shouldMigrateToAdAnalyticsInterface((require(9519) /* metro dependency 9519: AdAnalyticsInterfaceExperiment */).AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL, 'quest_reward_code_primary_cta')) { moduleValue2 = require(9517) /* metro dependency 9517: captureAdUserAction */; captureAdUserAction = moduleValue2.captureAdUserAction; object2 = {}; object2.type = (require(9518) /* metro dependency 9518: captureAdUserActionTypes */).AdUserActionType.CLICK_INTERNAL; object2.adCreativeType = (require(7121) /* metro dependency 7121: AdCreativeType */).AdCreativeType.QUEST; object2.adCreativeId = quest.id; object2.questContentCTA = env0_6; object2.surfaceId = questContent; object2.sourceQuestContent = sourceQuestContent; object2.impressionId = env0_11; object2.questContentPosition = questContentPosition; Reflect.apply(captureAdUserAction, moduleValue2, [object2]); } else { env0_10({questId: quest.id, questContent: questContent, questContentCTA: env0_6, questContentPosition: questContentPosition, sourceQuestContent: sourceQuestContent}); } } } else { if (redemptionLink != null) { env0_12(); } onDismiss(); } } function* _fun77873(a0, a1, a2) { // fn#77873, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10134:1742, offset: 0x01e0f4d8, size: 143 bytes, params: 4, frame: 19 var binding; var binding2; var property; var value4; var claimQuestReward; var value5; var value6; var value7; var error; if (true) { value = environment.__proto__.__proto__; try { binding = env2_9; } catch (error) { env2_7(true); env2_9(false); return undefined; } try { binding(true); } catch (error) { env2_7(true); env2_9(false); return undefined; } try { binding = env3_0; } catch (error) { env2_7(true); env2_9(false); return undefined; } try { binding2 = env3_2; } catch (error) { env2_7(true); env2_9(false); return undefined; } try { property = binding2[3]; } catch (error) { env2_7(true); env2_9(false); return undefined; } try { value4 = binding(property); } catch (error) { env2_7(true); env2_9(false); return undefined; } try { claimQuestReward = value4.claimQuestReward; } catch (error) { env2_7(true); env2_9(false); return undefined; } try { value5 = Reflect.apply(claimQuestReward, value4, [a0, a1, a2]); } catch (error) { env2_7(true); env2_9(false); return undefined; } yield value5; try { value6 = undefined; value7 = false; } catch (error) { env2_7(true); env2_9(false); return undefined; } if (value7) { return value6; } try { binding = env2_7; } catch (error) { env2_7(true); env2_9(false); return undefined; } try { binding(false); } catch (error) { env2_7(true); env2_9(false); return undefined; } try { binding = env2_9; } catch (error) { env2_7(true); env2_9(false); return undefined; } try { binding(false); } catch (error) { env2_7(true); env2_9(false); } } }