decord/source/modules/quests/hooks/RewardCodeClaimHooks.tsx
2026-07-21 06:55:02 +00:00

191 lines
8.4 KiB
TypeScript

// Module ID: 10913
// Function ID: 84810
// Name: useHandleRedemptionLinkClick
// Dependencies: []
// Exports: useClaimOrFetchRewardCode, useClaimRewardCodePrimaryCtaClickHandler
// Module 10913 (useHandleRedemptionLinkClick)
function useHandleRedemptionLinkClick(quest) {
quest = quest.quest;
const arg1 = quest;
const redemptionLink = quest.redemptionLink;
const importDefault = redemptionLink;
const questContent = quest.questContent;
const dependencyMap = questContent;
const questContentPosition = quest.questContentPosition;
let closure_3 = questContentPosition;
const sourceQuestContent = quest.sourceQuestContent;
let closure_4 = sourceQuestContent;
const trackQuestContentClickedWithImpression = arg1(dependencyMap[5]).useTrackQuestContentClickedWithImpression();
const React = trackQuestContentClickedWithImpression;
const obj = arg1(dependencyMap[5]);
const questImpressionId = arg1(dependencyMap[6]).useQuestImpressionId();
const useHandleRedemptionLinkClick = questImpressionId;
const items = [quest.id, questContent, questContentPosition, sourceQuestContent, trackQuestContentClickedWithImpression, questImpressionId, redemptionLink];
return React.useCallback(() => {
if (null != redemptionLink) {
if (obj7.shouldMigrateToAdAnalyticsInterface(quest(questContent[7]).AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL, "quest_reward_code_redemption_link")) {
let obj = { type: quest(questContent[9]).AdUserActionType.CLICK_INTERNAL, adCreativeType: quest(questContent[10]).AdCreativeType.QUEST, adCreativeId: quest.id, questContentCTA: quest(questContent[11]).QuestContentCTA.REDEEM_REWARD, surfaceId: questContent, sourceQuestContent, impressionId: questImpressionId, questContentPosition };
quest(questContent[8]).captureAdUserAction(obj);
const obj3 = quest(questContent[8]);
obj = { type: quest(questContent[9]).AdUserActionType.CLICK_INTERNAL, adCreativeType: quest(questContent[10]).AdCreativeType.QUEST, adCreativeId: quest.id, questContentCTA: quest(questContent[11]).QuestContentCTA.VISIT_REDEMPTION_LINK, surfaceId: questContent, sourceQuestContent, impressionId: questImpressionId, questContentPosition };
quest(questContent[8]).captureAdUserAction(obj);
const obj5 = quest(questContent[8]);
} else {
obj = { questId: quest.id, questContent, questContentCTA: quest(questContent[11]).QuestContentCTA.REDEEM_REWARD, questContentPosition, sourceQuestContent };
trackQuestContentClickedWithImpression(obj);
const obj1 = { questId: quest.id, questContent, questContentCTA: quest(questContent[11]).QuestContentCTA.VISIT_REDEMPTION_LINK, questContentPosition, sourceQuestContent };
trackQuestContentClickedWithImpression(obj1);
}
redemptionLink(questContent[12])(redemptionLink);
const obj7 = quest(questContent[7]);
}
}, items);
}
let closure_3 = importDefault(dependencyMap[0]);
let closure_4 = importDefault(dependencyMap[1]);
let closure_5 = importAll(dependencyMap[2]);
const result = arg1(dependencyMap[13]).fileFinishedImporting("modules/quests/hooks/RewardCodeClaimHooks.tsx");
export const useClaimOrFetchRewardCode = function useClaimOrFetchRewardCode(isClaimingReward) {
isClaimingReward = isClaimingReward.isClaimingReward;
const arg1 = isClaimingReward;
const isFetchingRewardCode = isClaimingReward.isFetchingRewardCode;
const importDefault = isFetchingRewardCode;
const questContent = isClaimingReward.questContent;
const dependencyMap = questContent;
const quest = isClaimingReward.quest;
let closure_3 = quest;
const rewardCode = isClaimingReward.rewardCode;
const callback = rewardCode;
const preview = isClaimingReward.preview;
const React = preview;
const tmp = callback(React.useState(false), 2);
const hasError = tmp[0];
const useHandleRedemptionLinkClick = hasError;
const setHasError = tmp[1];
const tmp4 = callback(React.useState(false), 2);
const first1 = tmp4[0];
let closure_9 = tmp4[1];
const claimCode = React.useCallback(() => {
// CreateGeneratorClosureLongIndex (0x67)
let closure_0 = quest(tmp);
return function() {
return callback(...arguments);
};
}(), []);
const fetchCode = React.useCallback((arg0) => {
const questRewardCode = isClaimingReward(questContent[3]).fetchQuestRewardCode(arg0);
}, []);
const items = [claimCode, fetchCode, hasError, isClaimingReward, first1, isFetchingRewardCode, questContent, quest, rewardCode, preview];
const effect = React.useEffect(() => {
let tmp = true === preview;
if (!tmp) {
tmp = null != rewardCode;
}
if (!tmp) {
tmp = hasError;
}
if (!tmp) {
tmp = isClaimingReward;
}
if (!tmp) {
tmp = first1;
}
if (!tmp) {
tmp = isFetchingRewardCode;
}
if (!tmp) {
setHasError(false);
const userStatus = quest.userStatus;
let claimedAt;
if (null != userStatus) {
claimedAt = userStatus.claimedAt;
}
if (null == claimedAt) {
claimCode(quest.id, isClaimingReward(questContent[4]).QuestRewardCodePlatforms.CROSS_PLATFORM, questContent);
} else {
const userStatus2 = quest.userStatus;
let claimedAt1;
if (null != userStatus2) {
claimedAt1 = userStatus2.claimedAt;
}
if (null != claimedAt1) {
fetchCode(quest.id);
}
}
}
}, items);
return { claimCode, fetchCode, hasError, setHasError };
};
export { useHandleRedemptionLinkClick };
export const useClaimRewardCodePrimaryCtaClickHandler = function useClaimRewardCodePrimaryCtaClickHandler(claimCode) {
let userStatus;
claimCode = claimCode.claimCode;
const arg1 = claimCode;
const fetchCode = claimCode.fetchCode;
const importDefault = fetchCode;
const hasError = claimCode.hasError;
const dependencyMap = hasError;
const onDismiss = claimCode.onDismiss;
let closure_3 = onDismiss;
const quest = claimCode.quest;
let closure_4 = quest;
const questContent = claimCode.questContent;
const React = questContent;
let GET_REWARD_CODE = claimCode.questContentCTA;
if (undefined === GET_REWARD_CODE) {
GET_REWARD_CODE = arg1(dependencyMap[11]).QuestContentCTA.GET_REWARD_CODE;
}
const useHandleRedemptionLinkClick = GET_REWARD_CODE;
const questContentPosition = claimCode.questContentPosition;
const redemptionLink = claimCode.redemptionLink;
const sourceQuestContent = claimCode.sourceQuestContent;
const trackQuestContentClickedWithImpression = arg1(dependencyMap[5]).useTrackQuestContentClickedWithImpression();
const obj = arg1(dependencyMap[5]);
const questImpressionId = arg1(dependencyMap[6]).useQuestImpressionId();
const tmp5 = useHandleRedemptionLinkClick(claimCode);
const items = [claimCode, fetchCode, hasError, onDismiss, , , , , , , , , , ];
({ id: arr[4], userStatus } = quest);
let claimedAt;
if (null != userStatus) {
claimedAt = userStatus.claimedAt;
}
items[5] = claimedAt;
items[6] = questContent;
items[7] = GET_REWARD_CODE;
items[8] = questContentPosition;
items[9] = trackQuestContentClickedWithImpression;
items[10] = questImpressionId;
items[11] = redemptionLink;
items[12] = sourceQuestContent;
items[13] = tmp5;
return React.useCallback(() => {
if (hasError) {
const userStatus = quest.userStatus;
let claimedAt;
if (null != userStatus) {
claimedAt = userStatus.claimedAt;
}
if (null != claimedAt) {
fetchCode(quest.id);
} else {
claimCode(quest.id, claimCode(hasError[4]).QuestRewardCodePlatforms.CROSS_PLATFORM, questContent);
if (obj4.shouldMigrateToAdAnalyticsInterface(claimCode(hasError[7]).AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL, "quest_reward_code_primary_cta")) {
let obj = { type: claimCode(hasError[9]).AdUserActionType.CLICK_INTERNAL, adCreativeType: claimCode(hasError[10]).AdCreativeType.QUEST, adCreativeId: quest.id, questContentCTA: GET_REWARD_CODE, surfaceId: questContent, sourceQuestContent, impressionId: questImpressionId, questContentPosition };
claimCode(hasError[8]).captureAdUserAction(obj);
const obj2 = claimCode(hasError[8]);
} else {
obj = { questId: quest.id, questContent, questContentCTA: GET_REWARD_CODE, questContentPosition, sourceQuestContent };
trackQuestContentClickedWithImpression(obj);
}
const obj4 = claimCode(hasError[7]);
}
} else {
if (null != redemptionLink) {
tmp5();
}
onDismiss();
}
}, items);
};