decord/source/modules/quests/native/QuestUtils.native.tsx

545 lines
19 KiB
TypeScript
Raw Normal View History

2026-08-05 07:35:12 +00:00
// Module ID: 11052
// Function ID: 11053
2026-07-29 08:29:29 +00:00
// Name: openRewardClaimBottomSheet
2026-08-05 07:35:12 +00:00
// Dependencies: [5, 19, 11053, 5113, 676, 21, 4223, 11054, 1959, 11056, 10363, 11063, 11069, 7060, 10348, 5116, 3956, 1236, 8228, 8234, 10347, 7075, 10483, 4107, 5910, 500, 3952, 712, 11070, 8656, 4595, 4598, 1481, 2]
2026-07-20 16:05:17 +00:00
// Exports: dismissOverlayScreens, getPrimaryCtaIcon, handleRewardClaimThenView, isHeroVideoSupported, openDiscordQuestsFAQ, openQuestHome, openRewardDetailsBottomSheet, showQuestUnavailableAlert
2026-08-05 07:35:12 +00:00
// Module 11052 (openRewardClaimBottomSheet)
2026-07-23 10:11:24 +00:00
import closure_3 from "jsxProd";
2026-08-05 07:35:12 +00:00
import "module_8234";
2026-07-23 10:11:24 +00:00
import zustandStore from "zustandStore";
import QuestsExperimentLocations from "QuestsExperimentLocations";
import { UserSettingsSections } from "ME";
2026-07-29 08:29:29 +00:00
import jsxProd from "isSponsoredPlayQuest";
2026-07-23 10:11:24 +00:00
2026-07-29 08:29:29 +00:00
let c10;
let c5;
2026-07-23 10:11:24 +00:00
let closure_12;
let closure_6;
2026-07-29 08:29:29 +00:00
let error;
let metroImportAll;
let unpackModuleId;
2026-07-23 10:11:24 +00:00
const require = arg1;
2026-07-20 16:05:17 +00:00
function openRewardClaimBottomSheet(arg0) {
let questContent;
let questContentPosition;
let questId;
let sourceQuestContent;
({ questId, questContent, questContentPosition, sourceQuestContent } = arg0);
2026-08-05 07:35:12 +00:00
return importDefault(4223).openLazy(require(1959) /* asyncRequireImpl */(11056, dependencyMap.paths), closure_6, { questId, questContent, questContentPosition, sourceQuestContent });
2026-07-20 16:05:17 +00:00
}
function viewReward(quest) {
let onSuccess;
let product;
let questContent;
let questContentPosition;
let sourceQuestContent;
quest = quest.quest;
({ product, questContent, questContentPosition, onSuccess, sourceQuestContent } = quest);
2026-08-05 07:35:12 +00:00
let obj = require(10363) /* _getDefaultRewardName */;
2026-07-20 16:05:17 +00:00
if (obj.hasQuestRewardCode(quest.config)) {
2026-07-29 08:29:29 +00:00
obj = { questId: null, questContent: null, questContentPosition: null, sourceQuestContent: null };
obj[0] = quest.id;
obj[1] = questContent;
obj[2] = questContentPosition;
obj[3] = sourceQuestContent;
2026-08-05 07:35:12 +00:00
importDefault(4223).openLazy(tmp(1959)(11056, dependencyMap.paths), closure_6, obj);
const obj7 = importDefault(4223);
2026-07-20 16:05:17 +00:00
} else {
2026-08-05 07:35:12 +00:00
let tmpResult = tmp(10363);
2026-07-29 08:29:29 +00:00
if (tmpResult.hasVirtualCurrencyReward(quest.config)) {
2026-08-05 07:35:12 +00:00
tmpResult = tmp(11063);
2026-07-29 08:29:29 +00:00
obj = { quest: null };
obj[0] = quest;
const result = tmpResult.openQuestOrbsRewardModal(obj);
2026-07-20 16:05:17 +00:00
} else {
2026-07-29 08:29:29 +00:00
const obj1 = { quest: null, product: null, onSuccess: null };
obj1[0] = quest;
obj1[1] = product;
obj1[2] = onSuccess;
2026-08-05 07:35:12 +00:00
const result1 = tmp(11069).openQuestCollectibleRewardModal(obj1);
const tmpResult1 = tmp(11069);
2026-07-20 16:05:17 +00:00
}
}
}
function _handleRewardClaim() {
2026-07-29 08:29:29 +00:00
const self = this;
const tmp = callback((arg0) => {
let closure_0 = arg0;
let c5 = 0;
let c6 = 0;
let c4 = 0;
return (function*(arg0) {
if (c6 === 2) {
c6 = 3;
HermesBuiltin.throwTypeError();
} else if (tmp7 === 3) {
if (arg0 === 1) {
throw arg1;
} else if (arg0 === 2) {
let obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
2026-08-05 07:35:12 +00:00
return { value: "T", done: null };
2026-07-29 08:29:29 +00:00
}
} else {
try {
c6 = 2;
if (0 === constants) {
if (arg0 === 1) {
c6 = 3;
throw arg1;
} else if (arg0 === 2) {
c6 = 3;
obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
const dependencyMap = tmp3;
let callback = tmp5;
let logger;
let obj1 = { location: null };
obj1[0] = constants.QUEST_HOME_MOBILE;
logger = logger(outer1_2[13]).getQuestLogger(obj1);
const obj7 = logger(outer1_2[13]);
let c4 = 1;
const defaultPlatform = logger(outer1_2[10]).getDefaultPlatform(logger.config);
const obj9 = logger(outer1_2[10]);
constants = 2;
c6 = 1;
const obj2 = { value: null, done: false };
obj2[0] = logger(outer1_2[14]).claimQuestReward(logger.id, defaultPlatform, logger(outer1_2[15]).QuestContent.QUEST_HOME_MOBILE);
return obj2;
}
} else if (1 === tmp8) {
c4 = 0;
callback = closure_3;
logger.error("Error claiming reward", callback);
2026-08-05 07:35:12 +00:00
obj1 = callback(3956);
2026-07-29 08:29:29 +00:00
const obj3 = { key: "CLAIM_QUEST_REWARD_ERROR", content: null, icon: null };
const intl = logger(1236).intl;
obj3[1] = intl.string(logger(1236).t.CKsXk3);
2026-08-05 07:35:12 +00:00
obj3[2] = callback(8228);
2026-07-29 08:29:29 +00:00
obj1.open(obj3);
c6 = 3;
return { value: false, done: true };
} else if (arg0 === 1) {
c6 = 3;
throw arg1;
} else if (arg0 === 2) {
c4 = 0;
c6 = 3;
obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
c4 = 0;
c6 = 3;
return { value: true, done: true };
}
} catch (tmp24) {
closure_3 = tmp24;
if (tmp4 === c4) {
c6 = tmp2;
throw tmp24;
} else {
constants = tmp;
}
}
}
})();
});
const _handleRewardClaim = tmp;
const apply = tmp.apply;
if (typeof apply === "unknown") {
let applyArgumentsResult = HermesBuiltin.applyArguments(self);
} else {
applyArgumentsResult = apply(self, arguments);
}
return applyArgumentsResult;
2026-07-20 16:05:17 +00:00
}
function _handleRewardClaimThenView() {
2026-07-29 08:29:29 +00:00
let self = this;
const tmp = callback((arg0) => {
let closure_0 = arg0;
let c3 = 0;
let c4 = 0;
const iter = (function*(arg0) {
let c0;
let c1;
let c2;
let c3;
let c4;
let c5;
let c6;
let c7;
let c8;
if (c4 === 2) {
c4 = 3;
HermesBuiltin.throwTypeError();
} else if (tmp3 === 3) {
if (arg0 === 1) {
throw arg1;
} else if (arg0 === 2) {
let obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
2026-08-05 07:35:12 +00:00
return { value: "T", done: null };
2026-07-29 08:29:29 +00:00
}
} else {
try {
c4 = 2;
if (0 === c3) {
if (arg0 === 1) {
c4 = 3;
throw arg1;
} else if (arg0 === 2) {
c4 = 3;
obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
let dependencyMap = tmp4;
let callback = 0;
let lib;
callback = undefined;
dependencyMap = undefined;
c3 = undefined;
c4 = undefined;
c5 = undefined;
c6 = undefined;
c7 = undefined;
c8 = undefined;
({ quest: c0, questContent: c1, questContentPosition: c2, product: c3, hideActionSheet: c4, currentUserHasVerifiedEmailOrPhone: c5, currentUserHasVerifiedEmail: c6, onSuccess: c7, sourceQuestContent: c8 } = lib);
let closure_9;
c3 = 1;
c4 = 1;
2026-08-05 07:35:12 +00:00
return { value: "PX_8", done: "Array" };
2026-07-29 08:29:29 +00:00
}
} else if (1 === tmp4) {
if (arg0 === 1) {
c4 = 3;
throw arg1;
} else if (arg0 === 2) {
c4 = 3;
const obj1 = { value: null, done: true };
obj1[0] = arg1;
return obj1;
} else {
if (true === c4) {
2026-08-05 07:35:12 +00:00
let obj3 = callback(4223);
2026-07-29 08:29:29 +00:00
obj3.hideActionSheet();
}
if (c5) {
if (!c6) {
2026-08-05 07:35:12 +00:00
let obj4 = lib(10363);
2026-07-29 08:29:29 +00:00
}
if (obj9.hasQuestRewardCode(lib.config)) {
const obj2 = { questId: null, questContent: null, questContentPosition: null, sourceQuestContent: null };
obj2[0] = lib.id;
obj2[1] = callback;
obj2[2] = dependencyMap;
obj2[3] = c8;
callback2(obj2);
c4 = 3;
return { value: true, done: true };
} else {
c3 = 2;
c4 = 1;
obj3 = { value: null, done: false };
obj3[0] = (function handleRewardClaim(c0) {
const self = this;
const apply = closure_15.apply;
if (typeof apply === "unknown") {
let applyArgumentsResult = HermesBuiltin.applyArguments(self);
} else {
applyArgumentsResult = apply(self, arguments);
}
return applyArgumentsResult;
})(lib);
return obj3;
}
2026-08-05 07:35:12 +00:00
obj9 = lib(10363);
2026-07-29 08:29:29 +00:00
}
if (!c6) {
2026-08-05 07:35:12 +00:00
let obj5 = callback(8234);
2026-07-29 08:29:29 +00:00
obj5.open();
}
2026-08-05 07:35:12 +00:00
let obj6 = callback(3956);
2026-07-29 08:29:29 +00:00
obj4 = { key: "CLAIM_QUEST_REWARD_ERROR", content: null, icon: null };
const intl = lib(1236).intl;
obj4[1] = intl.string(lib(1236).t["HZlu0+"]);
2026-08-05 07:35:12 +00:00
obj4[2] = callback(8228);
2026-07-29 08:29:29 +00:00
obj6.open(obj4);
c4 = 3;
return { value: false, done: true };
}
} else if (arg0 === 1) {
c4 = 3;
throw arg1;
} else if (arg0 === 2) {
c4 = 3;
obj5 = { value: null, done: true };
obj5[0] = arg1;
return obj5;
} else {
closure_9 = arg1;
if (closure_9) {
obj = { quest: null, product: null, questContent: null, questContentPosition: null, onSuccess: null, sourceQuestContent: null };
obj[0] = lib;
obj[1] = c3;
obj[2] = callback;
obj[3] = dependencyMap;
obj[4] = c7;
obj[5] = c8;
callback3(obj);
}
c4 = 3;
obj6 = { value: null, done: true };
obj6[0] = closure_9;
return obj6;
}
} catch (tmp58) {
c4 = tmp;
throw tmp58;
}
}
})();
iter.next();
return iter;
});
const _handleRewardClaimThenView = tmp;
let apply = tmp.apply;
if (typeof apply === "unknown") {
let applyArgumentsResult = HermesBuiltin.applyArguments(self);
} else {
applyArgumentsResult = apply(self, arguments);
}
return applyArgumentsResult;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
({ QuestsExperimentLocations: c5, QUEST_REWARD_CODE_CLAIM_BOTTOM_SHEET_KEY: closure_6, QUEST_REWARD_DETAILS_BOTTOM_SHEET_KEY: error, QuestVariants: metroImportAll } = QuestsExperimentLocations);
({ jsx: c10, Fragment: unpackModuleId, jsxs: closure_12 } = jsxProd);
2026-07-23 10:11:24 +00:00
let result = require("zustandStore").fileFinishedImporting("modules/quests/native/QuestUtils.native.tsx");
2026-07-20 16:05:17 +00:00
export const openRewardDetailsBottomSheet = function openRewardDetailsBottomSheet(questId) {
2026-08-05 07:35:12 +00:00
return importDefault(4223).openLazy(require(1959) /* asyncRequireImpl */(11054, dependencyMap.paths), closure_7, { questId: questId.questId });
2026-07-20 16:05:17 +00:00
};
export { viewReward };
export const handleRewardClaimThenView = function handleRewardClaimThenView(arg0) {
2026-07-29 08:29:29 +00:00
const self = this;
const apply = _handleRewardClaimThenView.apply;
if (typeof apply === "unknown") {
let applyArgumentsResult = HermesBuiltin.applyArguments(self);
} else {
applyArgumentsResult = apply(self, arguments);
}
return applyArgumentsResult;
2026-07-20 16:05:17 +00:00
};
export const openQuestHome = function openQuestHome(scrollToQuestId) {
scrollToQuestId = scrollToQuestId.scrollToQuestId;
let flag = scrollToQuestId.mergeExistingRoutes;
if (flag === undefined) {
flag = false;
}
let sort = scrollToQuestId.sort;
if (sort === undefined) {
sort = null;
}
let filter = scrollToQuestId.filter;
if (filter === undefined) {
filter = null;
}
2026-07-23 10:11:24 +00:00
let obj = scrollToQuestId(sort[20]);
2026-07-20 16:05:17 +00:00
if (obj.getIsEligibleForQuests()) {
2026-07-29 08:29:29 +00:00
obj = { questId: null, fromContent: null };
obj[0] = scrollToQuestId;
obj[1] = scrollToQuestId.fromContent;
const result = scrollToQuestId(tmp4[21]).setQuestHomeUtmContext(obj);
flag(tmp4[22])();
2026-07-20 16:05:17 +00:00
const _setTimeout = setTimeout;
const timerId = setTimeout(() => {
let obj = scrollToQuestId(sort[23]);
const rootNavigationRef = obj.getRootNavigationRef();
if (null != rootNavigationRef) {
if (rootNavigationRef.isReady()) {
2026-07-29 08:29:29 +00:00
let tmp4 = null;
if (searchRoutes) {
function isQuestsRoute(nextResult) {
let tmp = "settings" === nextResult.name;
if (tmp) {
const params = nextResult.params;
let screen;
if (params != null) {
screen = params.screen;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp = screen === constants.QUESTS;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return tmp;
}
const rootState = rootNavigationRef.getRootState();
let routes;
if (rootState != null) {
routes = rootState.routes;
}
let searchRoutesResult = null;
if (routes) {
searchRoutes = function searchRoutes(routes) {
const iter = routes[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let tmp2 = nextResult;
let tmp3 = isQuestsRoute;
let tmp4 = nextResult;
if (isQuestsRoute(nextResult)) {
let tmp11 = iter;
iter.return();
return tmp2;
} else {
let state = tmp2.state;
routes = undefined;
if (state != null) {
routes = state.routes;
}
if (routes) {
let tmp6 = searchRoutes;
let tmp7 = nextResult;
let tmp8 = searchRoutes(tmp2.state.routes);
let tmp9 = tmp8;
if (tmp8) {
let tmp10 = iter;
iter.return();
return tmp8;
2026-07-20 16:05:17 +00:00
}
}
2026-07-29 08:29:29 +00:00
continue;
2026-07-20 16:05:17 +00:00
}
}
2026-07-29 08:29:29 +00:00
return null;
};
searchRoutesResult = searchRoutes(rootState.routes);
}
tmp4 = searchRoutesResult;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
obj = { sort: null, filter: null, scrollToQuestId: null };
obj[0] = sort;
obj[1] = filter;
let str = isQuestsRoute;
if (isQuestsRoute == null) {
str = "";
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
obj[2] = str;
2026-07-23 10:11:24 +00:00
outer1_4.setState(obj);
2026-07-29 08:29:29 +00:00
obj = { screen: null };
obj[0] = outer1_9.QUESTS;
if (tmp3) {
if (null != tmp4) {
const obj1 = { name: "settings", key: null, params: null };
obj1[1] = tmp4.key;
obj1[2] = obj;
2026-07-20 16:05:17 +00:00
rootNavigationRef.navigate(obj1);
}
}
scrollToQuestId(sort[24]).openUserSettings(obj);
2026-07-29 08:29:29 +00:00
tmp3 = searchRoutes;
const tmpResult = scrollToQuestId(sort[24]);
2026-07-20 16:05:17 +00:00
}
}
}, 1);
2026-07-29 08:29:29 +00:00
const tmp3Result = scrollToQuestId(tmp4[21]);
2026-07-20 16:05:17 +00:00
}
};
export const isHeroVideoSupported = function isHeroVideoSupported(memo) {
if (obj.isIOS()) {
let tmp2 = tmp;
} else {
tmp2 = tmp;
if (!tmp) {
tmp2 = "video/webm" === memo.mimetype;
}
}
return tmp2;
};
export const openDiscordQuestsFAQ = function openDiscordQuestsFAQ() {
2026-08-05 07:35:12 +00:00
importDefault(3952).openURL("https://support.discord.com/hc/en-us/articles/22225719947543-Discord-Quests-FAQ#h_01HVPBZR5FBM7QBFR9KDBASXP5");
2026-07-20 16:05:17 +00:00
};
export const getPrimaryCtaIcon = function getPrimaryCtaIcon(quest, arg1) {
let flag = arg1;
if (arg1 === undefined) {
flag = false;
}
2026-08-05 07:35:12 +00:00
let obj = require(7075) /* isSponsoredPlayQuest */;
2026-07-20 16:05:17 +00:00
if (obj.canLaunchActivity(quest)) {
const features = quest.config.features;
if (features.includes(constants.MOBILE_ACTIVITY_QUEST)) {
let num = 0;
if (flag) {
2026-07-29 08:29:29 +00:00
num = importDefault(712).space.PX_4;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
obj = { marginRight: null };
obj[0] = num;
2026-07-20 16:05:17 +00:00
const features2 = quest.config.features;
2026-07-29 08:29:29 +00:00
if (features2.includes(tmp3.CLOUD_GAMING_ACTIVITY)) {
obj = { size: "sm", style: null, color: null };
obj[1] = obj;
obj[2] = importDefault(712).colors.WHITE;
2026-08-05 07:35:12 +00:00
let tmp5Result = tmp5(tmp(11070).CloudIcon, obj);
2026-07-20 16:05:17 +00:00
} else {
2026-07-29 08:29:29 +00:00
const obj1 = { size: "sm", style: null, color: null };
obj1[1] = obj;
obj1[2] = importDefault(712).colors.WHITE;
2026-08-05 07:35:12 +00:00
tmp5Result = tmp5(tmp(8656).GameControllerIcon, obj1);
2026-07-20 16:05:17 +00:00
}
return tmp5Result;
}
2026-07-29 08:29:29 +00:00
tmp3 = constants;
2026-07-20 16:05:17 +00:00
}
};
export const showQuestUnavailableAlert = function showQuestUnavailableAlert() {
2026-08-05 07:35:12 +00:00
let obj = require(4595) /* useAlertStore */;
2026-07-29 08:29:29 +00:00
obj = { title: null, content: null, actions: null };
const intl = require(1236) /* getSystemLocale */.intl;
obj[0] = intl.string(require(1236) /* getSystemLocale */.t.Lhpq2P);
const intl2 = require(1236) /* getSystemLocale */.intl;
obj[1] = intl2.string(require(1236) /* getSystemLocale */.t.iyF4WB);
obj = { children: null };
const obj1 = { text: null, onPress: null };
const intl3 = require(1236) /* getSystemLocale */.intl;
obj1[0] = intl3.string(require(1236) /* getSystemLocale */.t.H0vjGc);
2026-08-05 07:35:12 +00:00
obj1[1] = require(10348) /* _manuallyStartConsoleQuest */.fetchCurrentQuests;
const items = [callback2(require(4598) /* getAlertModalItemKey */.AlertActionButton, obj1), ];
2026-07-29 08:29:29 +00:00
const obj2 = { text: null, variant: "secondary" };
const intl4 = require(1236) /* getSystemLocale */.intl;
obj2[0] = intl4.string(require(1236) /* getSystemLocale */.t["6XS10x"]);
2026-08-05 07:35:12 +00:00
items[1] = callback2(require(4598) /* getAlertModalItemKey */.AlertActionButton, obj2);
2026-07-29 08:29:29 +00:00
obj[0] = items;
obj[2] = callback3(closure_11, obj);
2026-08-05 07:35:12 +00:00
obj.openAlert("quest-unavailable", callback2(require(4598) /* getAlertModalItemKey */.AlertModal, obj));
2026-07-20 16:05:17 +00:00
};
export const dismissOverlayScreens = function dismissOverlayScreens() {
2026-08-05 07:35:12 +00:00
let obj = require(4107) /* getRootNavigationRef */;
2026-07-20 16:05:17 +00:00
const rootNavigationRef = obj.getRootNavigationRef();
if (null != rootNavigationRef) {
if (rootNavigationRef.isReady()) {
const rootState = rootNavigationRef.getRootState();
const routes = rootState.routes;
const found = routes.filter((name) => {
let tmp = "you" !== name.name;
if (tmp) {
tmp = "settings" !== name.name;
}
return tmp;
});
if (found.length < rootState.routes.length) {
2026-07-29 08:29:29 +00:00
const CommonActions = require(1481) /* Link */.CommonActions;
2026-07-20 16:05:17 +00:00
obj = {};
const merged = Object.assign(rootState);
2026-07-29 08:29:29 +00:00
obj.routes = found;
obj.index = found.length - 1;
2026-07-20 16:05:17 +00:00
rootNavigationRef.dispatch(CommonActions.reset(obj));
}
}
}
};