decord/beta/source/modules/quests/native/QuestHooks.native.tsx
github-actions 9b6fea255e chore: update source for beta 346.12
Skipped 1 file(s) >100MB (GitHub limit): source/__polyfill/04xxx/module_4821.js (118.4 MB)
2026-09-18 19:45:33 +00:00

390 lines
15 KiB
TypeScript

// Module ID: 15172
// Function ID: 15173
// Name: QuestHooks
// Dependencies: [5, 19, 4327, 4864, 7804, 7805, 5525, 11416, 9641, 1085, 15173, 504, 5528, 15197, 7803, 7801, 5532, 10218, 4494, 15183, 7046, 11620, 11621, 11422, 7826, 7265, 9636, 7824, 9659, 7266, 9637, 11656, 2]
// Exports: useHasWatchVideoOnMobileTasks, useIsMobileQuestDockRendered, useIsMobileQuestDockVisibleToUser, useMobileActivityQuest, useMobileQuestDock, useMobileQuestDockHeight, useQuestDockHeroAsset, useQuestGameLogotypeAssetUrl
// Module 15172 (QuestHooks)
import QuestTypes from "QuestTypes" /* 5528 */;
import AdCreativeType from "AdCreativeType" /* 5532 */;
import ApplicationActionCreatorsDefault from "ApplicationActionCreators" /* 7266 */;
import QuestTaskUtils from "QuestTaskUtils" /* 7826 */;
import AssetUtils from "AssetUtils" /* 11422 */;
import useQuestForPlacement from "useQuestForPlacement" /* 15197 */;
import asyncGeneratorStep from "asyncGeneratorStep" /* 5 */;
import noop from "module_19" /* 19 */;
import ActionSheetStore from "ActionSheetStore" /* 4327 */;
import ApplicationStore from "ApplicationStore" /* 4864 */;
import BountyStore from "BountyStore" /* 7804 */;
import QuestStore from "QuestStore" /* 7805 */;
const require = globalThis.__r;
require = fn;
function useDeliveredDockCreative() {
const items = [QuestStore];
let stateFromStores = deliveredQuestId(deliveredBounty[11]).useStateFromStores(items, () => questPreviewOverride.getQuestPreviewOverride(deliveredQuestId(deliveredBounty[12]).QuestContent.QUEST_BAR_MOBILE), []);
let obj = deliveredQuestId(deliveredBounty[11]);
const tmp3 = QuestStore;
const adDecisionForPlacement = deliveredQuestId(deliveredBounty[13]).useAdDecisionForPlacement(deliveredQuestId(deliveredBounty[12]).AdPlacement.MOBILE_HOME_DOCK_AREA);
let obj2 = deliveredQuestId(deliveredBounty[13]);
let creative;
if (adDecisionForPlacement != null) {
creative = adDecisionForPlacement.creative;
}
deliveredQuestId = deliveredQuestId(deliveredBounty[14]).getDeliveredQuestId(creative);
let obj3 = deliveredQuestId(deliveredBounty[14]);
const items1 = [tmp3];
const items2 = [deliveredQuestId];
const stateFromStores1 = deliveredQuestId(deliveredBounty[11]).useStateFromStores(items1, () => {
let tmp2 = null;
if (null != deliveredQuestId) {
const quests = QuestStore.quests;
value = quests.get(tmp);
if (value == null) {
value = null;
}
tmp2 = value;
}
return tmp2;
}, items2);
let tmp9 = null;
if (null != stateFromStores1) {
tmp9 = null;
if (!tmpResult3.isQuestExpired(stateFromStores1)) {
tmp9 = stateFromStores1;
}
tmpResult3 = tmp(tmp2[15]);
}
if (stateFromStores == null) {
stateFromStores = tmp9;
}
const tmpResult = deliveredQuestId(deliveredBounty[11]);
let creative1;
if (adDecisionForPlacement != null) {
creative1 = adDecisionForPlacement.creative;
}
deliveredBounty = deliveredQuestId(deliveredBounty[14]).getDeliveredBounty(creative1);
const items3 = [stateFromStores, deliveredBounty];
return noop.useMemo(() => {
if (null != stateFromStores) {
const obj2 = { type: AdCreativeType.AdCreativeType.QUEST, quest: tmp };
let obj = obj2;
} else if (null != deliveredBounty) {
const obj3 = { type: AdCreativeType.AdCreativeType.BOUNTY, bounty: tmp2 };
obj = obj3;
} else {
obj = { type: AdCreativeType.AdCreativeType.NO_FILL };
}
return obj;
}, items3);
}
function useIsMobileQuestDockRenderedBase(mobileQuestDock) {
_require = mobileQuestDock;
const deliveredQuest = require("QuestDockCreativeContext").getDeliveredQuest(mobileQuestDock);
const tmp4 = deliveredAdCreativeId(7046)();
const obj = require("QuestDockCreativeContext");
const items = [QuestStore];
let userStatus1;
const stateFromStores = require("initialize").useStateFromStores(items, () => null != questPreviewOverride.getQuestPreviewOverride(mobileQuestDock(dependencyMap[12]).QuestContent.QUEST_BAR_MOBILE), []);
if (deliveredQuest != null) {
userStatus1 = deliveredQuest.userStatus;
}
let isDismissedResult = null != userStatus1;
if (isDismissedResult) {
isDismissedResult = tmp(7801).isDismissed(deliveredQuest.userStatus, tmp(5528).QuestContent.QUEST_BAR_MOBILE);
const tmpResult = tmp(7801);
}
let claimedAt;
if (deliveredQuest != null) {
const userStatus = deliveredQuest.userStatus;
if (userStatus != null) {
claimedAt = userStatus.claimedAt;
}
}
const obj2 = require("initialize");
const tmp5 = QuestStore;
const isQuestExpired = require("hooks/QuestHooks").useIsQuestExpired(deliveredQuest);
const tmpResult6 = require("hooks/QuestHooks");
let isEligibleForQuests = require("QuestsEligibility").getIsEligibleForQuests();
const tmpResult7 = require("QuestsEligibility");
deliveredAdCreativeId = require("QuestDockCreativeContext").getDeliveredAdCreativeId(mobileQuestDock);
const tmpResult8 = require("QuestDockCreativeContext");
const items1 = [tmp5];
const items2 = [deliveredAdCreativeId];
const stateFromStores1 = require("initialize").useStateFromStores(items1, () => {
let isAdContentDismissedResult = null != deliveredAdCreativeId;
if (isAdContentDismissedResult) {
isAdContentDismissedResult = QuestStore.isAdContentDismissed(tmp);
}
return isAdContentDismissedResult;
}, items2);
const tmpResult9 = require("initialize");
const items3 = [BountyStore];
const items4 = [mobileQuestDock];
const type = mobileQuestDock.type;
const stateFromStores2 = require("initialize").useStateFromStores(items3, () => {
let isBountyCompletedResult = mobileQuestDock.type === AdCreativeType.AdCreativeType.BOUNTY;
if (isBountyCompletedResult) {
isBountyCompletedResult = BountyStore.isBountyCompleted(mobileQuestDock.bounty.id);
}
return isBountyCompletedResult;
}, items4);
if (require("AdCreativeType").AdCreativeType.NO_FILL === type) {
return false;
} else if (tmp(5532).AdCreativeType.BOUNTY === type) {
if (isEligibleForQuests) {
isEligibleForQuests = !stateFromStores1;
}
if (isEligibleForQuests) {
isEligibleForQuests = !stateFromStores2;
}
if (isEligibleForQuests) {
isEligibleForQuests = !tmp4;
}
return isEligibleForQuests;
} else if (tmp(5532).AdCreativeType.QUEST === type) {
if (stateFromStores) {
if (!tmp10) {
let tmp16 = null != deliveredQuest && !tmp4;
}
return tmp16;
}
tmp16 = null != deliveredQuest && isEligibleForQuests && !isQuestExpired && !tmp10 && !isDismissedResult && !tmp4;
const tmp17 = null != deliveredQuest && isEligibleForQuests && !isQuestExpired && !tmp10 && !isDismissedResult && !tmp4;
}
}
const QuestConstants = fn(5525);
({ QUEST_REWARD_CODE_CLAIM_BOTTOM_SHEET_KEY: closure_9, QuestVariants: c10 } = QuestConstants);
const CAPTCHA_MODAL_KEY = fn(11416).CAPTCHA_MODAL_KEY;
const MAIN_SURFACE = fn(9641).MAIN_SURFACE;
const ThemeTypes = fn(1085).ThemeTypes;
const size = fn(2);
const result = size.fileFinishedImporting("modules/quests/native/QuestHooks.native.tsx");
export const useMobileQuestDockHeight = function useMobileQuestDockHeight() {
const tmp = useIsMobileQuestDockRenderedBase(useDeliveredDockCreative());
let num = 0;
if (tmp) {
num = obj.useQuestDockExternalOffset();
}
return num;
};
export const useMobileQuestDock = function useMobileQuestDock() {
const adRefreshLoop = useQuestForPlacement.useAdRefreshLoop(QuestTypes.AdPlacement.MOBILE_HOME_DOCK_AREA);
return useDeliveredDockCreative();
};
export const useIsMobileQuestDockVisibleToUser = function useIsMobileQuestDockVisibleToUser(mobileQuestDock, isMobileQuestDockRenderedBase) {
_require = mobileQuestDock;
let tmp = isMobileQuestDockRenderedBase;
const isChannelFocused = require("isChannelFocused").useIsChannelFocused();
const obj = require("isChannelFocused");
const currentNavigationRouteName = require("NavigationRouteUtils").useCurrentNavigationRouteName();
const obj2 = require("NavigationRouteUtils");
let tmp4 = null != require("NavigationRouteUtils").coerceGuildsRoute({ name: currentNavigationRouteName });
const obj3 = require("NavigationRouteUtils");
const items = [QuestStore];
let stateFromStores = require("initialize").useStateFromStores(items, () => {
const type = mobileQuestDock.type;
if (AdCreativeType.AdCreativeType.QUEST === type) {
return QuestStore.isClaimingReward(tmp.quest.id);
} else {
return false;
}
tmp = mobileQuestDock;
});
const obj4 = require("initialize");
const items1 = [ActionSheetStore];
const stateFromStores1 = require("initialize").useStateFromStores(items1, () => {
key = key.getKey();
let tmp2 = key === CAPTCHA_MODAL_KEY;
if (!tmp2) {
tmp2 = key === closure_1_9;
}
return tmp2;
});
if (isMobileQuestDockRenderedBase) {
tmp = !isChannelFocused;
}
if (tmp) {
if (!tmp4) {
if (stateFromStores) {
stateFromStores = stateFromStores1;
}
tmp4 = stateFromStores;
}
tmp = tmp4;
}
return tmp;
};
export { useIsMobileQuestDockRenderedBase };
export const useIsMobileQuestDockRendered = function useIsMobileQuestDockRendered() {
return useIsMobileQuestDockRenderedBase(useDeliveredDockCreative());
};
export const useQuestGameLogotypeAssetUrl = function useQuestGameLogotypeAssetUrl(quest) {
closure_0 = quest;
const items = [quest];
return noop.useMemo(() => AssetUtils.getQuestAsset(closure_0, AssetUtils.QuestAssetType.LOGO_TYPE, ThemeTypes.DARK).url, items);
};
export const useQuestDockHeroAsset = function useQuestDockHeroAsset(quest) {
const items = [quest];
return noop.useMemo(() => {
const questAsset = AssetUtils.getQuestAsset(quest, AssetUtils.QuestAssetType.QUEST_BAR_HERO);
let videoAsset = null;
if (null != quest.config.assets.questBarHeroVideo) {
videoAsset = tmp(11422).resolveAsset(tmp3.id, tmp3.config.assets.questBarHeroVideo);
const tmpResult = tmp(11422);
}
if (questAsset.isAnimated) {
let staticUrl = str.replace(tmp(11422).EXTENSION_RE, ".png");
} else {
staticUrl = str;
}
return { staticUrl, videoAsset };
}, items);
};
export const useHasWatchVideoOnMobileTasks = function useHasWatchVideoOnMobileTasks(config) {
const items = [config];
return noop.useMemo(() => QuestTaskUtils.hasWatchVideoOnMobileTasks({ config }), items);
};
export const useMobileActivityQuest = function useMobileActivityQuest(quest) {
_require = quest;
const activityApplicationId = require("QuestTaskUtils").getActivityApplicationId(quest);
analyticsLocations = activityApplicationId(analyticsLocations[25])().analyticsLocations;
let obj = require("QuestTaskUtils");
const tmp = analyticsLocations;
const tmp3 = activityApplicationId;
let items = [ApplicationStore];
const stateFromStores = require("initialize").useStateFromStores(items, () => ApplicationStore.getApplication(activityApplicationId));
let obj2 = require("initialize");
const canLaunchFrameResult = require("canLaunchFrame").canLaunchFrame(stateFromStores);
noop = canLaunchFrameResult;
const obj3 = require("canLaunchFrame");
let canLaunchActivityResult = require("utils/QuestUtils").canLaunchActivity(quest);
if (canLaunchActivityResult) {
let features = quest.config.features;
canLaunchActivityResult = features.includes(constants.MOBILE_ACTIVITY_QUEST);
}
if (canLaunchActivityResult) {
let supported_platforms;
if (stateFromStores != null) {
const embeddedActivityConfig = stateFromStores.embeddedActivityConfig;
if (embeddedActivityConfig != null) {
supported_platforms = embeddedActivityConfig.supported_platforms;
}
}
canLaunchActivityResult = tmp3(tmp[28])(supported_platforms);
const tmp3Result = tmp3(tmp[28]);
}
if (canLaunchActivityResult) {
let tmp11 = canLaunchFrameResult;
if (!canLaunchFrameResult) {
let id;
if (stateFromStores != null) {
let bot = stateFromStores.bot;
if (bot != null) {
id = bot.id;
}
}
tmp11 = null != id;
}
canLaunchActivityResult = tmp11;
}
ActionSheetStore = canLaunchActivityResult;
const items1 = [stateFromStores, activityApplicationId, quest.config.features];
const effect = noop.useEffect(() => {
let hasItem = null == stateFromStores;
if (hasItem) {
hasItem = null != activityApplicationId;
}
if (hasItem) {
const features = quest.config.features;
hasItem = features.includes(constants.MOBILE_ACTIVITY_QUEST);
}
if (hasItem) {
const items = [activityApplicationId];
const applications = ApplicationActionCreatorsDefault.fetchApplications(items, false);
}
}, items1);
const items2 = [canLaunchFrameResult, stateFromStores, canLaunchActivityResult, analyticsLocations];
let obj4 = require("utils/QuestUtils");
return {
isMobileActivityQuest: canLaunchActivityResult,
questApplication: stateFromStores,
launchMobileActivity: noop.useCallback(stateFromStores(function*(arg0, value) {
if (v3 === 2) {
v3 = 3;
throw new TypeError("Generator functions may not be called on executing generators");
} else if (tmp3 === 3) {
if (arg0 === 1) {
throw value;
} else if (arg0 === 2) {
const obj2 = { value, done: true };
return obj2;
} else {
return { value: "HermesInternal", done: null };
}
} else {
try {
v3 = 2;
if (0 === v2) {
if (arg0 === 1) {
v3 = 3;
throw value;
} else if (arg0 === 2) {
v3 = 3;
const obj4 = { value, done: true };
return obj4;
} else if (canLaunchActivityResult) {
if (canLaunchFrameResult) {
const obj5 = { applicationId: stateFromStores.id, surface, analyticsContext: null };
const obj7 = { isStart: true, analyticsLocations };
obj5.analyticsContext = obj7;
v2 = 1;
v3 = 1;
const obj8 = { value: v2(9637).launchFrame(obj5), done: false };
return obj8;
} else {
let id;
if (stateFromStores != null) {
const bot = tmp6.bot;
if (bot != null) {
id = bot.id;
}
}
if (null != id) {
const obj9 = { appId: tmp6.id, botId: tmp6.bot.id, analyticsLocations: [] };
v2 = 2;
v3 = 1;
const obj10 = { value: v3(11656).launchActivityInBotDM(obj9), done: false };
return obj10;
}
}
}
} else if (1 === tmp4) {
if (arg0 === 1) {
v3 = 3;
throw value;
} else if (arg0 === 2) {
v3 = 3;
const obj11 = { value, done: true };
return obj11;
}
} else if (arg0 === 1) {
v3 = 3;
throw value;
} else if (arg0 === 2) {
v3 = 3;
const obj = { value, done: true };
return obj;
}
v3 = 3;
return { value: "HermesInternal", done: null };
} catch (tmp16) {
v3 = tmp;
throw tmp16;
}
}
}), items2)
};
};