78 lines
3.0 KiB
TypeScript
78 lines
3.0 KiB
TypeScript
// Metro module 6006 (f6007).
|
|
import GameConsoleStore from "../../game_console/GameConsoleStore";
|
|
import GuildStore from "../../../stores/GuildStore";
|
|
import PermissionStore from "../../../stores/PermissionStore";
|
|
import VoiceStateStore from "../../../stores/VoiceStateStore";
|
|
import QuestUtmStore from "../QuestUtmStore";
|
|
import { DISCORD_APPLICATION_ID, QuestVariants, RewardFilterTypes } from "../QuestConstants";
|
|
import { getDesktopApplicationIds, getPlayActivityApplicationId, hasPlayActivityTask, hasAchievementActivityTask, getQuestTaskTypes, hasWatchVideoTasks } from "./QuestTaskUtils";
|
|
import { QuestSharePolicy } from "../../../_bundle/Module6009";
|
|
import { canWatchStream } from "../../go_live/utils/StreamPermissionUtils";
|
|
import { QuestType } from "../../../_bundle/Module6011";
|
|
import { getQuestContentName } from "../lib/analytics/AnalyticsTypes";
|
|
let hasVariant;
|
|
const isSponsoredPlayQuest = function isSponsoredPlayQuest(a0) {
|
|
if (a0 == null) {
|
|
return false;
|
|
}
|
|
const desktopApplicationIds = getDesktopApplicationIds(a0);
|
|
return desktopApplicationIds != null && desktopApplicationIds.length > 1;
|
|
};
|
|
hasVariant = function hasVariant(a0, a1) {
|
|
return new Set(a0.config.features).has(a1);
|
|
};
|
|
export { isSponsoredPlayQuest };
|
|
export function isPlayAnyActivityQuest(a0) {
|
|
return getPlayActivityApplicationId(a0) === DISCORD_APPLICATION_ID;
|
|
}
|
|
export { hasVariant };
|
|
export function canLaunchActivity(a0) {
|
|
return hasPlayActivityTask(a0) || hasAchievementActivityTask(a0);
|
|
}
|
|
export function filterQuestsForSocialEntrypoints(a0, a1) {
|
|
const map = new Map();
|
|
loop1: for (const r10 of a0) {
|
|
const [r34, r35] = r10;
|
|
if (!isSponsoredPlayQuest(r35) && !hasVariant(r35, QuestVariants.NON_GAMING_PLAY_QUEST)) {
|
|
for (const item of getQuestTaskTypes(r35)) {
|
|
if (!a1.has(item)) {
|
|
continue;
|
|
}
|
|
map.set(r34, r35);
|
|
continue loop1;
|
|
}
|
|
}
|
|
}
|
|
return map;
|
|
}
|
|
export function isShareableQuest(a0) {
|
|
return a0.sharePolicy !== QuestSharePolicy.NOT_SHAREABLE;
|
|
}
|
|
export function isStreamingAndCanWatch(a0, a1) {
|
|
return a0 != null && a1 != null && canWatchStream(a1, VoiceStateStore, GuildStore, PermissionStore, GameConsoleStore)[0];
|
|
}
|
|
export function getQuestType(a0) {
|
|
return hasWatchVideoTasks({
|
|
config: a0
|
|
}) ? QuestType.VIDEO : QuestType.GAMEPLAY;
|
|
}
|
|
export function isQuestFeaturedByHero({ questIds }, a1) {
|
|
let r6 = questIds == null ? void 0 : questIds.includes(a1);
|
|
if (r6 == null) {
|
|
r6 = false;
|
|
}
|
|
return r6;
|
|
}
|
|
export function shouldShowBountiesGivenFilters(a0) {
|
|
const r7 = a0.some((item) => item.group === "task");
|
|
return r7 ? !r7 : a0.length === 0 || a0.some((item) => item.group === "reward" && item.filter === RewardFilterTypes.VIRTUAL_CURRENCY);
|
|
}
|
|
export function setQuestHomeUtmContext({ questId, fromContent, utmSource, utmMedium }) {
|
|
QuestUtmStore.getState().setUtmCurrentContext({
|
|
utmSourceCurrent: utmSource,
|
|
utmMediumCurrent: utmMedium,
|
|
utmCampaignCurrent: questId,
|
|
utmContentCurrent: getQuestContentName(fromContent)
|
|
});
|
|
}
|