Files
discord-decomp/sources/modules/quests/hooks/RewardCodeClaimHooks.tsx
T
2026-07-28 01:06:53 +03:00

357 lines
19 KiB
TypeScript

/* 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] */;