decord/alpha/source/modules/quests/utils/QuestUtils.tsx

132 lines
4.9 KiB
TypeScript
Raw Normal View History

// Module ID: 7130
// Function ID: 7131
// Name: utils/QuestUtils
// Dependencies: [32, 4846, 2066, 4466, 4848, 7131, 5751, 7132, 7133, 7134, 7135, 7136, 2]
2026-07-20 16:05:17 +00:00
// Exports: canLaunchActivity, filterQuestsForSocialEntrypoints, getQuestType, isPlayAnyActivityQuest, isQuestFeaturedByHero, isShareableQuest, isStreamingAndCanWatch, setQuestHomeUtmContext, shouldShowBountiesGivenFilters
// Module 7130 (utils/QuestUtils)
import QuestTaskUtils from "QuestTaskUtils" /* 7132 */;
import QuestSharePolicy from "QuestSharePolicy" /* 7133 */;
import StreamPermissionUtils from "StreamPermissionUtils" /* 7134 */;
import QuestType2 from "QuestType" /* 7135 */;
import AnalyticsTypes from "AnalyticsTypes" /* 7136 */;
import _slicedToArray from "module_32" /* 32 */;
import GameConsoleStore from "GameConsoleStore" /* 4846 */;
import GuildStore from "GuildStore" /* 2066 */;
import PermissionStore from "PermissionStore" /* 4466 */;
import VoiceStateStore from "VoiceStateStore" /* 4848 */;
import QuestUtmStore from "QuestUtmStore" /* 7131 */;
2026-07-23 10:11:24 +00:00
require = fn;
2026-07-20 16:05:17 +00:00
function isSponsoredPlayQuest(quest) {
if (null == quest) {
return false;
} else {
const desktopApplicationIds = QuestTaskUtils.getDesktopApplicationIds(quest);
2026-07-20 16:05:17 +00:00
let tmp3 = null != desktopApplicationIds;
if (tmp3) {
tmp3 = desktopApplicationIds.length > 1;
}
return tmp3;
}
}
2026-07-31 08:44:05 +00:00
function hasVariant(nextResult, NON_GAMING_PLAY_QUEST) {
return new Set(nextResult.config.features).has(NON_GAMING_PLAY_QUEST);
2026-07-20 16:05:17 +00:00
}
const QuestConstants = fn(5751);
({ DISCORD_APPLICATION_ID: closure_8, QuestVariants: closure_9, RewardFilterTypes: c10 } = QuestConstants);
const size = fn(2);
let result = size.fileFinishedImporting("modules/quests/utils/QuestUtils.tsx");
2026-07-20 16:05:17 +00:00
export { isSponsoredPlayQuest };
2026-07-29 08:29:29 +00:00
export const isPlayAnyActivityQuest = function isPlayAnyActivityQuest(quest) {
return QuestTaskUtils.getPlayActivityApplicationId(quest) === React6;
2026-07-20 16:05:17 +00:00
};
export { hasVariant };
export const canLaunchActivity = function canLaunchActivity(quest) {
let hasPlayActivityTaskResult = QuestTaskUtils.hasPlayActivityTask(quest);
2026-07-20 16:05:17 +00:00
if (!hasPlayActivityTaskResult) {
hasPlayActivityTaskResult = QuestTaskUtils.hasAchievementActivityTask(quest);
const tmpResult = QuestTaskUtils;
2026-07-20 16:05:17 +00:00
}
return hasPlayActivityTaskResult;
};
export const filterQuestsForSocialEntrypoints = function filterQuestsForSocialEntrypoints(stateFromStores, has) {
2026-07-20 16:05:17 +00:00
const map = new Map();
2026-07-29 08:29:29 +00:00
while (tmp !== undefined) {
let tmp4 = _slicedToArray(tmp2, 2);
2026-07-29 08:29:29 +00:00
[tmp5, tmp6] = tmp4;
let tmp7 = tmp6;
if (!isSponsoredPlayQuest(tmp6)) {
if (!hasVariant(tmp7, constants.NON_GAMING_PLAY_QUEST)) {
let obj2 = QuestTaskUtils;
2026-07-29 08:29:29 +00:00
let questTaskTypes = obj2.getQuestTaskTypes(tmp7);
for (const item10038 of questTaskTypes) {
if (arg1.has(item10038)) {
let result = map.set(tmp5, tmp7);
obj3.return();
break;
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
}
continue;
2026-07-20 16:05:17 +00:00
}
return map;
};
export const isShareableQuest = function isShareableQuest(config) {
2026-08-24 06:08:38 +00:00
return config.sharePolicy !== QuestSharePolicy.QuestSharePolicy.NOT_SHAREABLE;
2026-07-20 16:05:17 +00:00
};
export const isStreamingAndCanWatch = function isStreamingAndCanWatch(arg0, stateFromStores) {
let first = null != arg0 && null != stateFromStores;
if (first) {
const obj = StreamPermissionUtils;
first = obj.canWatchStream(stateFromStores, VoiceStateStore, GuildStore, PermissionStore, GameConsoleStore)[0];
2026-07-20 16:05:17 +00:00
}
return first;
};
export const getQuestType = function getQuestType(config) {
const obj2 = { config };
2026-08-24 06:08:38 +00:00
const QuestType = QuestType2.QuestType;
return QuestTaskUtils.hasWatchVideoTasks({ config }) ? QuestType.VIDEO : QuestType.GAMEPLAY;
2026-07-20 16:05:17 +00:00
};
export const isQuestFeaturedByHero = function isQuestFeaturedByHero(questHomeHero, id) {
const questIds = questHomeHero.questIds;
2026-07-29 08:29:29 +00:00
let flag;
if (questIds != null) {
flag = questIds.includes(id);
}
if (flag == null) {
flag = false;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return flag;
2026-07-20 16:05:17 +00:00
};
export const shouldShowBountiesGivenFilters = function shouldShowBountiesGivenFilters(filters) {
2026-07-29 08:29:29 +00:00
const someResult = filters.some((group) => "task" === group.group);
let tmp2 = !someResult;
if (!someResult) {
tmp2 = 0 === filters.length || filters.some((group) => {
2026-07-20 16:05:17 +00:00
let tmp = "reward" === group.group;
if (tmp) {
2026-07-29 08:29:29 +00:00
tmp = group.filter === constants.VIRTUAL_CURRENCY;
2026-07-20 16:05:17 +00:00
}
return tmp;
});
2026-07-29 08:29:29 +00:00
const tmp3 = 0 === filters.length || filters.some((group) => {
2026-07-20 16:05:17 +00:00
let tmp = "reward" === group.group;
if (tmp) {
2026-07-29 08:29:29 +00:00
tmp = group.filter === constants.VIRTUAL_CURRENCY;
2026-07-20 16:05:17 +00:00
}
return tmp;
});
}
2026-07-29 08:29:29 +00:00
return tmp2;
2026-07-20 16:05:17 +00:00
};
export const setQuestHomeUtmContext = function setQuestHomeUtmContext(arg0) {
({ questId, fromContent, utmSource, utmMedium } = arg0);
const state = QuestUtmStore.getState();
const obj = { utmSourceCurrent: utmSource, utmMediumCurrent: utmMedium, utmCampaignCurrent: questId, utmContentCurrent: AnalyticsTypes.getQuestContentName(fromContent) };
2026-07-20 16:05:17 +00:00
state.setUtmCurrentContext(obj);
};