/* Metro module 9948; source: modules/quests/hooks/RewardCodeClaimHooks.tsx; dependencies: [5, 57, 31, 9484, 6531, 9949, 9513, 9519, 9517, 9518, 7121, 7120, 3847, 2] */ import Module00005 from '../../../by-id/module-00005.js'; /* Metro dependency 5 */ import Module00057 from '../../../by-id/module-00057.js'; /* Metro dependency 57 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as 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 ContentImpressionTrackerHooksModule from '../lib/analytics/ContentImpressionTrackerHooks.tsx'; /* Metro dependency 9513 */ import * as CaptureAdUserActionTypesModule from '../../ads/analytics/captureAdUserActionTypes.tsx'; /* Metro dependency 9518 */ import * as AnalyticsHooksModule from '../lib/analytics/AnalyticsHooks.tsx'; /* Metro dependency 9949 */ 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 useHandleRedemptionLinkClick2 = useHandleRedemptionLinkClick; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); (FileImportTrackerModule).fileFinishedImporting('modules/quests/hooks/RewardCodeClaimHooks.tsx'); exports.useClaimOrFetchRewardCode = useClaimOrFetchRewardCode; exports.useHandleRedemptionLinkClick = useHandleRedemptionLinkClick2; 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 = (AnalyticsHooksModule).useTrackQuestContentClickedWithImpression(); return value2.useCallback(_fun77869, [quest.id, questContent, questContentPosition, sourceQuestContent, value2, (ContentImpressionTrackerHooksModule).useQuestImpressionId(), redemptionLink]); 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 = (AnalyticsTypesModule).QuestContentCTA; var questContentPositionBinding; var sourceQuestContentBinding; var moduleValue2; var captureAdUserAction; const AdUserActionType = (CaptureAdUserActionTypesModule).AdUserActionType; var CLICK_INTERNAL; const AdCreativeType = (AdCreativeTypeModule).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 = ReactModule; 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 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 rewardCode2 = rewardCode; const preview2 = preview; let binding = preview2; let useState = binding.useState; const value2 = Reflect.apply(useState, binding, [false]); binding = rewardCode2; const value3 = binding(value2, 2); const property = value3[0]; const property2 = value3[1]; const binding2 = preview2; useState = binding2.useState; const value4 = binding(Reflect.apply(useState, binding2, [false]), 2); const property3 = value4[0]; const env0_9 = value4[1]; const value6 = preview2.useCallback(_fun77871(), []); const value7 = preview2.useCallback(_fun77875, []); preview2.useEffect(_fun77876, [value6, value7, property, isClaimingReward, property3, isFetchingRewardCode, questContent, quest, rewardCode, preview]); return {claimCode: value6, fetchCode: value7, hasError: property, setHasError: property2}; 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* _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); } } } function _fun77874() { // fn#77874, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10134:1851, offset: 0x00c3945f, size: 30 bytes, params: 1, frame: 13 return env0_0.apply(this, arguments); } } 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 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 questContent2 = 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 = (AnalyticsHooksModule).useTrackQuestContentClickedWithImpression(); const value5 = (ContentImpressionTrackerHooksModule).useQuestImpressionId(); const value6 = useHandleRedemptionLinkClick(a0); const binding = questContent2; 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 _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 object; 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; object = {}; object.type = (require(9518) /* metro dependency 9518: captureAdUserActionTypes */).AdUserActionType.CLICK_INTERNAL; object.adCreativeType = (require(7121) /* metro dependency 7121: AdCreativeType */).AdCreativeType.QUEST; object.adCreativeId = quest.id; object.questContentCTA = env0_6; object.surfaceId = questContent; object.sourceQuestContent = sourceQuestContent; object.impressionId = env0_11; object.questContentPosition = questContentPosition; Reflect.apply(captureAdUserAction, moduleValue2, [object]); } else { env0_10({questId: quest.id, questContent: questContent, questContentCTA: env0_6, questContentPosition: questContentPosition, sourceQuestContent: sourceQuestContent}); } } } else { if (redemptionLink != null) { env0_12(); } onDismiss(); } } } } global.__d(_fun77867, 9948, [5, 57, 31, 9484, 6531, 9949, 9513, 9519, 9517, 9518, 7121, 7120, 3847, 2]) /* metro module 9948, dependencies: [5, 57, 31, 9484, 6531, 9949, 9513, 9519, 9517, 9518, 7121, 7120, 3847, 2] */;