// Metro module 10965 (f10966). import _slicedToArray from "../../../_bundle/_slicedToArray"; import { useState, useCallback, useEffect } from "react"; import { claimQuestReward, fetchQuestRewardCode } from "../QuestActionCreators"; import { QuestRewardCodePlatforms } from "../QuestTypes"; import { useTrackQuestContentClickedWithImpression } from "../lib/analytics/AnalyticsHooks"; import { useQuestImpressionId } from "../lib/analytics/ContentImpressionTrackerHooks"; import { shouldMigrateToAdAnalyticsInterface, AdAnalyticsInterfaceExperimentStep } from "../experiments/AdAnalyticsInterfaceExperiment"; import { captureAdUserAction } from "../../ads/analytics/captureAdUserAction"; import { AdUserActionType } from "../../ads/analytics/captureAdUserActionTypes"; import { AdCreativeType } from "../../../_bundle/Module6013"; import { QuestContentCTA } from "../lib/analytics/AnalyticsTypes"; function $mk85988($env) { return () => { const r7 = $env; const r2 = r7[1]; if (r2 != null) { const r3 = $env.$parent; const r12 = r3[0]; const r1 = r3[2]; if (r12(r1[7]).shouldMigrateToAdAnalyticsInterface(r12(r1[7]).AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL, "quest_reward_code_redemption_link")) { const r38 = r12(r1[8]); const r44 = { type: r12(r1[9]).AdUserActionType.CLICK_INTERNAL, adCreativeType: r12(r1[10]).AdCreativeType.QUEST, adCreativeId: null, questContentCTA: null, surfaceId: null, sourceQuestContent: null, impressionId: null, questContentPosition: null }; const r11 = r7[0]; r44.adCreativeId = r11.id; r44.questContentCTA = r12(r1[11]).QuestContentCTA.REDEEM_REWARD; const surfaceId = r7[2]; r44.surfaceId = surfaceId; const sourceQuestContent3 = r7[4]; r44.sourceQuestContent = sourceQuestContent3; const impressionId = r7[6]; r44.impressionId = impressionId; const questContentPosition3 = r7[3]; r44.questContentPosition = questContentPosition3; r38.captureAdUserAction(r44); r12(r1[8]).captureAdUserAction({ type: r12(r1[9]).AdUserActionType.CLICK_INTERNAL, adCreativeType: r12(r1[10]).AdCreativeType.QUEST, adCreativeId: r11.id, questContentCTA: r12(r1[11]).QuestContentCTA.VISIT_REDEMPTION_LINK, surfaceId, sourceQuestContent: sourceQuestContent3, impressionId, questContentPosition: questContentPosition3 }); } else { const r20 = r7[5]; const r10 = r7[0]; const id = r10.id; const questContent2 = r7[2]; const r22 = { questId: id, questContent: questContent2, questContentCTA: r12(r1[11]).QuestContentCTA.REDEEM_REWARD, questContentPosition: null, sourceQuestContent: null }; const questContentPosition2 = r7[3]; r22.questContentPosition = questContentPosition2; const sourceQuestContent2 = r7[4]; r22.sourceQuestContent = sourceQuestContent2; r20(r22); r20({ questId: r10.id, questContent: questContent2, questContentCTA: r12(r1[11]).QuestContentCTA.VISIT_REDEMPTION_LINK, questContentPosition: questContentPosition2, sourceQuestContent: sourceQuestContent2 }); } (0, r3[1])(r1[12])(r2); } }; } let env7387 = {}; export function useClaimOrFetchRewardCode(a0) { let env18403 = { $parent: env7387 }; const isClaimingReward = a0.isClaimingReward; env18403[0] = isClaimingReward; const isFetchingRewardCode = a0.isFetchingRewardCode; env18403[1] = isFetchingRewardCode; const questContent2 = a0.questContent; env18403[2] = questContent2; const quest2 = a0.quest; env18403[3] = quest2; const rewardCode = a0.rewardCode; env18403[4] = rewardCode; const preview = a0.preview; env18403[5] = preview; const r20 = _slicedToArray(useState(false), 2); const hasError2 = r20[0]; env18403[6] = hasError2; const setHasError = r20[1]; env18403[7] = setHasError; const r23 = _slicedToArray(useState(false), 2); const r16 = r23[0]; env18403[8] = r16; env18403[9] = r23[1]; let c18404_0 = async (c30315_0, c30315_1, c30315_2) => { let c30315_6 = 0; L10: { try { c30315_6 = 1; (0, env18403[9])(true); await claimQuestReward(c30315_0, c30315_1, c30315_2); (0, env18403[7])(false); (0, env18403[9])(false); c30315_6 = 0; } catch ($e) { let r7 = $e; if (c30315_6 !== 0) { while (true) { try { c30315_6 = 0; (0, env18403[7])(true); (0, env18403[9])(false); break L10; } catch ($e) { r7 = $e; if (c30315_6 === 0) { break; } } } } throw r7; } } }; const callback2 = useCallback(function() { return c18404_0.apply(this, arguments); }, []); env18403[10] = callback2; const callback3 = useCallback((a0) => { try { fetchQuestRewardCode(a0); } catch ($e) { (0, env18403[7])(true); } }, []); env18403[11] = callback3; useEffect(() => { if (!(env18403[5] === true || env18403[4] != null || env18403[6] || env18403[0] || env18403[8] || env18403[1])) { (0, env18403[7])(false); const r13 = env18403[3]; if (r13.userStatus?.claimedAt == null) { (0, env18403[10])(r13.id, QuestRewardCodePlatforms.CROSS_PLATFORM, env18403[2]); } else if (r13.userStatus?.claimedAt != null) { (0, env18403[11])(r13.id); } } }, [callback2, callback3, hasError2, isClaimingReward, r16, isFetchingRewardCode, questContent2, quest2, rewardCode, preview]); return { claimCode: callback2, fetchCode: callback3, hasError: hasError2, setHasError }; } export function useHandleRedemptionLinkClick(a0) { let env18402; const r1 = env18402 = { $parent: env7387 }; const quest2 = a0.quest; env18402[0] = quest2; const redemptionLink2 = a0.redemptionLink; env18402[1] = redemptionLink2; const questContent2 = a0.questContent; env18402[2] = questContent2; const questContentPosition2 = a0.questContentPosition; env18402[3] = questContentPosition2; const sourceQuestContent2 = a0.sourceQuestContent; env18402[4] = sourceQuestContent2; env18402[5] = void 0; env18402[6] = void 0; const trackQuestContentClickedWithImpression2 = useTrackQuestContentClickedWithImpression(); env18402[5] = trackQuestContentClickedWithImpression2; const questImpressionId2 = useQuestImpressionId(); env18402[6] = questImpressionId2; const r22 = [quest2.id, questContent2, questContentPosition2, sourceQuestContent2, trackQuestContentClickedWithImpression2, questImpressionId2, redemptionLink2]; return useCallback($mk85988(r1), r22); } export function useClaimRewardCodePrimaryCtaClickHandler(a0) { const { claimCode, fetchCode, hasError, onDismiss, quest, questContent, questContentCTA = QuestContentCTA.GET_REWARD_CODE } = a0; let env18406; const GET_REWARD_CODE = questContentCTA; const { questContentPosition, redemptionLink, sourceQuestContent } = a0; const trackQuestContentClickedWithImpression = useTrackQuestContentClickedWithImpression(); const questImpressionId = useQuestImpressionId(); const r35 = env18406 = { $parent: env7387 }; env18406[0] = void 0; env18406[1] = void 0; env18406[2] = void 0; env18406[3] = void 0; env18406[4] = void 0; const quest2 = a0.quest; env18406[0] = quest2; const redemptionLink2 = a0.redemptionLink; env18406[1] = redemptionLink2; const questContent2 = a0.questContent; env18406[2] = questContent2; const questContentPosition2 = a0.questContentPosition; env18406[3] = questContentPosition2; const sourceQuestContent2 = a0.sourceQuestContent; env18406[4] = sourceQuestContent2; env18406[5] = void 0; env18406[6] = void 0; const trackQuestContentClickedWithImpression2 = useTrackQuestContentClickedWithImpression(); env18406[5] = trackQuestContentClickedWithImpression2; const questImpressionId2 = useQuestImpressionId(); env18406[6] = questImpressionId2; const r47 = [quest2.id, questContent2, questContentPosition2, sourceQuestContent2, trackQuestContentClickedWithImpression2, questImpressionId2, redemptionLink2]; const callback = useCallback($mk85988(r35), r47); const r52 = [claimCode, fetchCode, hasError, onDismiss, quest.id, , , , , , , , , ,]; const claimedAt = quest.userStatus?.claimedAt; const r56 = () => { if (hasError) { if (quest.userStatus?.claimedAt != null) { fetchCode(quest.id); } else { claimCode(quest.id, QuestRewardCodePlatforms.CROSS_PLATFORM, questContent); if (shouldMigrateToAdAnalyticsInterface(AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL, "quest_reward_code_primary_cta")) { captureAdUserAction({ type: AdUserActionType.CLICK_INTERNAL, adCreativeType: AdCreativeType.QUEST, adCreativeId: quest.id, questContentCTA: GET_REWARD_CODE, surfaceId: questContent, sourceQuestContent, impressionId: questImpressionId, questContentPosition }); } else { trackQuestContentClickedWithImpression({ questId: quest.id, questContent, questContentCTA: GET_REWARD_CODE, questContentPosition, sourceQuestContent }); } } } else { if (redemptionLink != null) { callback(); } onDismiss(); } }; r52[5] = claimedAt; r52[6] = questContent; r52[7] = GET_REWARD_CODE; r52[8] = questContentPosition; r52[9] = trackQuestContentClickedWithImpression; r52[10] = questImpressionId; r52[11] = redemptionLink; r52[12] = sourceQuestContent; r52[13] = callback; return useCallback(r56, r52); }