1611 lines
55 KiB
TypeScript
1611 lines
55 KiB
TypeScript
// Metro module 10492 (f10493).
|
|
import _slicedToArray from "../../../_bundle/_slicedToArray";
|
|
import { useState, useEffect, useMemo, useRef, useCallback } from "react";
|
|
import LocaleStore from "../../user_settings/LocaleStore";
|
|
import ChannelStore from "../../../stores/ChannelStore";
|
|
import ConnectedAccountsStore from "../../../stores/ConnectedAccountsStore";
|
|
import UserStore from "../../../stores/UserStore";
|
|
import BountyStore from "../BountyStore";
|
|
import { useConsoleQuestUIStore } from "../ConsoleQuestUIStore";
|
|
import QuestStore from "../QuestStore";
|
|
import { MOBILE_ORBS_INTRO_QUEST_ID, TaskFilterTypes, RewardFilterTypes, QuestHomeSortMethods, QuestTaskPlatform, ORBS_INTRO_QUEST_ID, MEMBER_LIST_SOCIAL_ENTRY_POINT_ALLOWED_TASK_TYPES, SORTED_QUEST_HOME_FILTER_GROUPS, QuestsExperimentLocations } from "../QuestConstants";
|
|
import { HelpdeskArticles, ThemeTypes, AnalyticEvents } from "../../../Constants";
|
|
import { PremiumTypes } from "../../premium/PremiumConstants";
|
|
import { useStateFromStoresArray, useStateFromStoresObject, useStateFromStores } from "../../../_bundle/Module589";
|
|
import { getIsEligibleForQuests } from "../lib/QuestsEligibility";
|
|
import { fetchCurrentQuests, fetchQuestToDeliver, fetchClaimedQuests, completeQuestPreview, resetQuestPreviewStatus, resetQuestDismissibilityStatus, overrideQuestForPlacement, markAdContentUnseen, manuallyStartConsoleQuest } from "../QuestActionCreators";
|
|
import { isMac, isWeb } from "../../../utils/PlatformUtils";
|
|
import DiscordAppState_native from "../../app_state/DiscordAppState.native";
|
|
import NewAdRequestBehaviorExperiment from "../experiments/NewAdRequestBehaviorExperiment";
|
|
import { AdPlacement, TaskPlatformScreen, QuestContent } from "../QuestTypes";
|
|
import * as _QuestDataUtils from "../utils/QuestDataUtils";
|
|
import { hasUnclaimedReward, captureQuestsException, isDismissed } from "../utils/QuestDataUtils";
|
|
import Durations from "../../../utils/Durations";
|
|
import * as _QuestUtils from "../utils/QuestUtils";
|
|
import { getQuestType, filterQuestsForSocialEntrypoints } from "../utils/QuestUtils";
|
|
import * as _QuestTaskUtils from "../utils/QuestTaskUtils";
|
|
import { hasWatchVideoTasks, hasPlayOnDesktopTask, hasStreamOnDesktopTask, hasPlayActivityTask, isConsoleQuest, isInGameQuest, getActivityApplicationId } from "../utils/QuestTaskUtils";
|
|
import { QuestType } from "../../../_bundle/Module6011";
|
|
import * as _QuestRewardUtils from "../utils/QuestRewardUtils";
|
|
import { hasInGameQuestReward, hasQuestRewardCode, getQuestOrbMultiplier, getDefaultRewardName, getCollectibleQuestRewardDuration, getCollectibleQuestRewardExtendableExpirationDate } from "../utils/QuestRewardUtils";
|
|
import { groupBy } from "../../../_bundle/Module12";
|
|
import { useShouldRemoveQuestHomeHero, BountyStaleRefreshQuestHomeExperiment } from "../experiments/index";
|
|
import { QuestOrbMultiplierEligibilityType } from "../utils/QuestOrbMultiplierUtils";
|
|
import { useGetQuestImpressionId } from "../lib/analytics/ContentImpressionTrackerHooks";
|
|
import HelpdeskUtils from "../../../utils/HelpdeskUtils";
|
|
import { supportedTaskPlatforms, openGameLinkDirectly, openAddConsoleConnectionModal, openConsoleConnectionSettings, isQuestSupportedOnWeb } from "../utils/QuestPlatformUtils";
|
|
import { FirstPartyQuestTaskTypes, FirstPartyQuestTaskTypesSets } from "../../../_bundle/Module5040";
|
|
import { QuestContentCTA } from "../lib/analytics/AnalyticsTypes";
|
|
import useGetOrFetchApplications from "../../applications/useGetOrFetchApplications";
|
|
import { getQuestsFromActivities } from "../utils/QuestMatchingUtils";
|
|
import { getDefaultReward, getFilterGroupHeadingText, getSortMethodText } from "../utils/QuestCopyUtils";
|
|
import { useFetchCollectiblesProduct } from "../../collectibles/hooks/useFetchCollectiblesProduct";
|
|
import { AdCreativeType } from "../../../_bundle/Module6013";
|
|
import { QuestConsoleStartError } from "../../../_bundle/Module10503";
|
|
import { intl, t } from "../../../intl/index.native";
|
|
import { formatPercent } from "../../../utils/NumberUtils";
|
|
import { match } from "../../../_bundle/Module4389";
|
|
import { trackQuestBarOrDockModeChange } from "../lib/analytics/AnalyticsActions";
|
|
import useTheme from "../../../hooks/useTheme";
|
|
import { isThemeDark } from "../../../design/shared";
|
|
import { getQuestAsset, QuestAssetType } from "../lib/AssetUtils";
|
|
import * as _PremiumUtils from "../../../utils/PremiumUtils";
|
|
import useRefocusOrLaunchActivity from "../../activities/utils/useRefocusOrLaunchActivity";
|
|
import AnalyticsUtils from "../../../utils/AnalyticsUtils";
|
|
import { useBountiesExperience } from "../experiments/useBountiesExperience";
|
|
import { fetchBountyPreview, fetchQuestHomeBounties } from "../BountyActionCreators";
|
|
import { DropsOptedOut } from "../../user_settings/UserSettings";
|
|
import { SurveyActionTypes } from "../../../_bundle/Module9280";
|
|
import { fireSurveyAction } from "../../qualtrics/QualtricsActionCreators";
|
|
function $mk84863($env) {
|
|
return () => {
|
|
const r2 = $env[0];
|
|
return r2 != null && $env.$parent[12].isQuestExpired(r2.id);
|
|
};
|
|
}
|
|
function $mk84864($env) {
|
|
return () => $env.$parent[12].isProgressingOnDesktop($env[0].id);
|
|
}
|
|
function $mk84865($env) {
|
|
return () => {
|
|
const r1 = $env.$parent;
|
|
return (0, r1[0])(r1[2][23]).isQuestProgressingOnConsole($env[0]);
|
|
};
|
|
}
|
|
function $mk84866($env) {
|
|
return () => {
|
|
const r1 = $env.$parent;
|
|
return r1[12].getOptimisticProgress($env[0].id, (0, r1[0])(r1[2][32]).FirstPartyQuestTaskTypes.WATCH_VIDEO);
|
|
};
|
|
}
|
|
function $mk84867($env) {
|
|
return () => {
|
|
const r1 = $env.$parent;
|
|
return (0, r1[0])(r1[2][33]).isVideoQuestProgressing($env[0]);
|
|
};
|
|
}
|
|
function $mk84868($env) {
|
|
return () => {
|
|
const r1 = $env.$parent;
|
|
return (0, r1[0])(r1[2][23]).getThirdPartyTaskDetails($env[0]);
|
|
};
|
|
}
|
|
function $mk84869($env) {
|
|
return () => {
|
|
let r21;
|
|
const set = new Set();
|
|
let r3 = $env[0][Symbol.iterator]();
|
|
const next = r3.next;
|
|
const r4 = $env.$parent;
|
|
while (true) {
|
|
const r10 = r3 === void 0 ? void 0 : (r21 = next.call(r3)).done ? r3 = void 0 : r21.value;
|
|
if (r3 === void 0) {
|
|
return Array.from(set);
|
|
}
|
|
try {
|
|
const consoleApplicationId = (0, r4[0])(r4[2][23]).getConsoleApplicationId(r10);
|
|
if (consoleApplicationId != null) {
|
|
set.add(consoleApplicationId);
|
|
}
|
|
} catch (r38) {
|
|
if (r3 !== void 0 && typeof r3.return === "function") {
|
|
try {
|
|
r3.return();
|
|
} catch {}
|
|
}
|
|
throw r38;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function $mk84871($env) {
|
|
return () => {
|
|
const r6 = $env[0].filter((item) => item.revoked === false);
|
|
const r7 = $env.$parent;
|
|
const xboxAccounts = r6.filter($mk107190(r7));
|
|
const playstationAccounts = r6.filter($mk107191(r7));
|
|
return {
|
|
xboxAccounts,
|
|
playstationAccounts,
|
|
xboxAndPlaystationAccounts: xboxAccounts.concat(playstationAccounts)
|
|
};
|
|
};
|
|
}
|
|
function $mk84872($env) {
|
|
return () => $env.$parent[12].selectedTaskPlatform($env[0]);
|
|
}
|
|
function $mk84873($env) {
|
|
return (a0) => {
|
|
const r1 = $env.$parent;
|
|
return (0, r1[0])(r1[2][15]).selectTaskPlatform($env[0], a0);
|
|
};
|
|
}
|
|
function $mk84878() {
|
|
return (a0) => a0.preview;
|
|
}
|
|
function $mk84880($env) {
|
|
return () => {
|
|
const r2 = $env;
|
|
const r4 = r2[1];
|
|
if (r4 == null) {
|
|
return {
|
|
shelfQuests: [],
|
|
isShelfEnabled: false
|
|
};
|
|
}
|
|
const r5 = r4.map($mk107209(r2));
|
|
const r9 = $env.$parent;
|
|
const shelfQuests = r5.filter((0, r9[0])(r9[2][51]).isNotNullish).filter($mk107210(r9));
|
|
return shelfQuests.length <= 1 ? {
|
|
shelfQuests: [],
|
|
isShelfEnabled: false
|
|
} : {
|
|
shelfQuests,
|
|
isShelfEnabled: true
|
|
};
|
|
};
|
|
}
|
|
function $mk84881($env) {
|
|
return () => {
|
|
const r1 = $env.$parent;
|
|
return (0, r1[0])(r1[2][23]).getQuestTaskDetails($env[0]);
|
|
};
|
|
}
|
|
function $mk84882($env) {
|
|
return () => {
|
|
const r1 = $env;
|
|
return (0, r1[2])((0, r1[1])());
|
|
};
|
|
}
|
|
function $mk84883($env) {
|
|
return () => {
|
|
const r5 = $env;
|
|
const r4 = r5[0];
|
|
if (r4.userStatus?.enrolledAt != null) {
|
|
if (r4.userStatus?.completedAt == null) {
|
|
if (r4.userStatus?.claimedAt == null && r5[4]) {
|
|
let env26693 = {
|
|
$parent: $env
|
|
};
|
|
const r21 = window;
|
|
const r8 = $env.$parent;
|
|
const r28 = 1 * (0, r8[1])(r8[2][21]).Millis.SECOND;
|
|
env26693[0] = r21.setInterval($mk107211(r5), r28);
|
|
return () => {
|
|
clearInterval(env26693[0]);
|
|
(0, env26693.$parent[3])();
|
|
};
|
|
}
|
|
}
|
|
}
|
|
(0, r5[3])();
|
|
};
|
|
}
|
|
function $mk107190($env) {
|
|
return (a0) => a0.type === $env[23].XBOX;
|
|
}
|
|
function $mk107191($env) {
|
|
return (a0) => a0.type === $env[23].PLAYSTATION;
|
|
}
|
|
function $mk107209($env) {
|
|
return (a0) => $env[0].get(a0);
|
|
}
|
|
function $mk107210($env) {
|
|
return (a0) => {
|
|
const r1 = $env;
|
|
return !(0, r1[0])(r1[2][20]).isQuestExpired(a0);
|
|
};
|
|
}
|
|
function $mk107211($env) {
|
|
return () => {
|
|
(0, $env[3])();
|
|
};
|
|
}
|
|
let defaultSortFn, recentSortFn, recentlyEnrolledSortFn, expiringSoonSortFn, doesQuestPassTaskFilter, doesQuestPassRewardFilter, sortQuests, useAllQuests, isQuestHiddenFromQuestHome, useIsQuestProgressing, useTaskPlatformScreen, c7038_27, c7038_35, c7038_36, c7038_38, c7038_40, useQuestTaskDetails, c7038_44, c7038_46, MINUTE;
|
|
let $mk84870 = function() {
|
|
return () => ({
|
|
fetching: ConnectedAccountsStore.isFetching(),
|
|
accounts: ConnectedAccountsStore.getAccounts()
|
|
});
|
|
}, $mk84877 = function() {
|
|
return () => [...QuestStore.quests.values()];
|
|
}, $mk84879 = function() {
|
|
return () => QuestStore.quests;
|
|
};
|
|
let env7038 = {};
|
|
export function useQuests(r11 = {
|
|
fetchPolicy: "cache-only",
|
|
callerSource: "unknown"
|
|
}) {
|
|
let isFetchingCurrentQuests, lastFetchedCurrentQuests, isEligibleForQuests;
|
|
let c18015_0 = r11;
|
|
isFetchingCurrentQuests = void 0;
|
|
lastFetchedCurrentQuests = void 0;
|
|
isEligibleForQuests = void 0;
|
|
const [state, setState] = useState(false);
|
|
const stateFromStoresArray2 = useStateFromStoresArray([QuestStore], () => [...QuestStore.quests.values()]);
|
|
const stateFromStoresArray3 = useStateFromStoresArray([QuestStore], () => [...QuestStore.excludedQuests.values()]);
|
|
const stateFromStoresObject = useStateFromStoresObject([QuestStore], () => ({
|
|
isFetchingCurrentQuests: QuestStore.isFetchingCurrentQuests,
|
|
lastFetchedCurrentQuests: QuestStore.lastFetchedCurrentQuests
|
|
}));
|
|
isFetchingCurrentQuests = stateFromStoresObject.isFetchingCurrentQuests;
|
|
lastFetchedCurrentQuests = stateFromStoresObject.lastFetchedCurrentQuests;
|
|
isEligibleForQuests = getIsEligibleForQuests();
|
|
useEffect(() => {
|
|
let r1;
|
|
const fetchPolicy = c18015_0.fetchPolicy;
|
|
if (fetchPolicy === "cache-only") {
|
|
return void 0;
|
|
}
|
|
if (fetchPolicy === "cache-or-network") {
|
|
r1 = lastFetchedCurrentQuests === 0;
|
|
} else {
|
|
r1 = true;
|
|
if (fetchPolicy !== "cache-and-network") {
|
|
c18015_0.fetchPolicy;
|
|
return void 0;
|
|
}
|
|
}
|
|
if (r1 && isEligibleForQuests && !state && !isFetchingCurrentQuests) {
|
|
setState(true);
|
|
fetchCurrentQuests();
|
|
if (isMac() && DiscordAppState_native.getState() !== "focused") {
|
|
return void 0;
|
|
}
|
|
if (NewAdRequestBehaviorExperiment.getConfig({
|
|
location: "QuestHookUseQuests"
|
|
}).enableNewRequestBehavior) {
|
|
return void 0;
|
|
}
|
|
fetchQuestToDeliver(AdPlacement.MOBILE_HOME_DOCK_AREA, `use_quests_${c18015_0.callerSource}`);
|
|
}
|
|
}, [r11.fetchPolicy, isEligibleForQuests, state, isFetchingCurrentQuests, lastFetchedCurrentQuests, r11.callerSource]);
|
|
return {
|
|
quests: stateFromStoresArray2,
|
|
excludedQuests: stateFromStoresArray3,
|
|
isFetchingCurrentQuests,
|
|
hasFetched: state
|
|
};
|
|
}
|
|
defaultSortFn = function defaultSortFn(a0, a1, a2) {
|
|
let r141, r152, r167, questType, questType2;
|
|
let r7 = a0.id === MOBILE_ORBS_INTRO_QUEST_ID;
|
|
const id = a1.id;
|
|
if (r7) {
|
|
r7 = a0.userStatus?.completedAt == null;
|
|
}
|
|
if (r7 !== (id === MOBILE_ORBS_INTRO_QUEST_ID && a1.userStatus?.completedAt == null)) {
|
|
return r7 ? c7038_27 : 1;
|
|
}
|
|
const isQuestExpired = _QuestDataUtils.isQuestExpired(a0);
|
|
const r38 = a0.userStatus?.claimedAt != null;
|
|
const r42 = a1.userStatus?.claimedAt != null;
|
|
const r10 = a0.userStatus?.enrolledAt != null;
|
|
const r49 = a1.userStatus?.enrolledAt != null;
|
|
const r55 = 30 * Durations.Millis.MINUTE;
|
|
const r58 = a0.userStatus?.completedAt != null;
|
|
const r61 = a0.userStatus?.enrolledAt != null && !r58 && Date.now() - new Date(a0.userStatus?.enrolledAt).getTime() > r55;
|
|
const r8 = a1.userStatus?.completedAt != null;
|
|
const r80 = a1.userStatus?.enrolledAt != null && !r8 && Date.now() - new Date(a1.userStatus?.enrolledAt).getTime() > r55;
|
|
if (isQuestExpired) {
|
|
if (r38 !== r42) {
|
|
r167 = r38 ? c7038_27 : 1;
|
|
} else if (r10 !== r49) {
|
|
r167 = r10 ? c7038_27 : 1;
|
|
} else {
|
|
const expiresAt3 = a0.config.expiresAt;
|
|
const expiresAt4 = a1.config.expiresAt;
|
|
const r164 = c7038_38.DESC === c7038_38.DESC ? c7038_27 : 1;
|
|
r167 = expiresAt3.localeCompare(expiresAt4) * r164;
|
|
}
|
|
return r167;
|
|
}
|
|
L45: {
|
|
const { questHomeHero, isQuestHomeHeroShelfEnabled } = a2;
|
|
if (questHomeHero != null && !isQuestHomeHeroShelfEnabled) {
|
|
const isQuestFeaturedByHero = _QuestUtils.isQuestFeaturedByHero(questHomeHero, a0.id);
|
|
const isQuestFeaturedByHero2 = _QuestUtils.isQuestFeaturedByHero(questHomeHero, a1.id);
|
|
if (!isQuestFeaturedByHero && !isQuestFeaturedByHero2) {
|
|
break L45;
|
|
}
|
|
return isQuestFeaturedByHero ? c7038_27 : 1;
|
|
}
|
|
}
|
|
L78: {
|
|
L48: {
|
|
questType = getQuestType(a0.config);
|
|
questType2 = getQuestType(a1.config);
|
|
const hasWatchVideoOnMobileTasks = _QuestTaskUtils.hasWatchVideoOnMobileTasks(a0);
|
|
const hasWatchVideoOnMobileTasks2 = _QuestTaskUtils.hasWatchVideoOnMobileTasks(a1);
|
|
if (hasWatchVideoOnMobileTasks !== hasWatchVideoOnMobileTasks2) {
|
|
if (!hasWatchVideoOnMobileTasks && !hasWatchVideoOnMobileTasks2) {
|
|
break L48;
|
|
}
|
|
r141 = hasWatchVideoOnMobileTasks ? c7038_27 : 1;
|
|
break L78;
|
|
}
|
|
}
|
|
L54: {
|
|
if (questType !== questType2) {
|
|
if (questType !== QuestType.VIDEO && questType2 !== QuestType.VIDEO) {
|
|
break L54;
|
|
}
|
|
const VIDEO = QuestType.VIDEO;
|
|
r141 = 1;
|
|
if (questType !== VIDEO) {
|
|
break L78;
|
|
}
|
|
r141 = c7038_27;
|
|
break L78;
|
|
}
|
|
}
|
|
L73: {
|
|
L57: {
|
|
if (r61 !== r80) {
|
|
if (!r61 && !r80) {
|
|
break L57;
|
|
}
|
|
r152 = r61 ? 1 : c7038_27;
|
|
break L73;
|
|
}
|
|
}
|
|
if (r38 !== r42) {
|
|
r152 = r38 ? 1 : c7038_27;
|
|
} else if (r10 !== r49) {
|
|
r152 = r10 ? c7038_27 : 1;
|
|
} else {
|
|
const expiresAt = a0.config.expiresAt;
|
|
const expiresAt2 = a1.config.expiresAt;
|
|
const r149 = c7038_38.ASC === c7038_38.DESC ? c7038_27 : 1;
|
|
r152 = expiresAt.localeCompare(expiresAt2) * r149;
|
|
}
|
|
}
|
|
r141 = r152;
|
|
}
|
|
return r141;
|
|
};
|
|
recentSortFn = function recentSortFn(a0, a1) {
|
|
const startsAt = a0.config.startsAt;
|
|
const startsAt2 = a1.config.startsAt;
|
|
const r1 = c7038_38.DESC === c7038_38.DESC ? c7038_27 : 1;
|
|
return startsAt.localeCompare(startsAt2) * r1;
|
|
};
|
|
recentlyEnrolledSortFn = function recentlyEnrolledSortFn(a0, a1) {
|
|
let r15;
|
|
const enrolledAt = a0.userStatus?.enrolledAt;
|
|
const enrolledAt2 = a1.userStatus?.enrolledAt;
|
|
L19: {
|
|
if (enrolledAt == null && enrolledAt2 == null) {
|
|
const expiresAt = a0.config.expiresAt;
|
|
const expiresAt2 = a1.config.expiresAt;
|
|
const r27 = c7038_38.DESC === c7038_38.DESC ? c7038_27 : 1;
|
|
r15 = expiresAt.localeCompare(expiresAt2) * r27;
|
|
} else if (enrolledAt != null && enrolledAt2 == null) {
|
|
r15 = c7038_27;
|
|
} else {
|
|
if (enrolledAt == null) {
|
|
const r14 = enrolledAt2 != null;
|
|
r15 = 1;
|
|
if (r14) {
|
|
break L19;
|
|
}
|
|
}
|
|
const r17 = c7038_38.DESC === c7038_38.DESC ? c7038_27 : 1;
|
|
r15 = enrolledAt.localeCompare(enrolledAt2) * r17;
|
|
}
|
|
}
|
|
return r15;
|
|
};
|
|
expiringSoonSortFn = function expiringSoonSortFn(a0, a1) {
|
|
const expiresAt = a0.config.expiresAt;
|
|
const expiresAt2 = a1.config.expiresAt;
|
|
const r1 = c7038_38.ASC === c7038_38.DESC ? c7038_27 : 1;
|
|
return expiresAt.localeCompare(expiresAt2) * r1;
|
|
};
|
|
doesQuestPassTaskFilter = function doesQuestPassTaskFilter(a0, a1) {
|
|
if (TaskFilterTypes.VIDEO === a1) {
|
|
return hasWatchVideoTasks(a0);
|
|
}
|
|
if (TaskFilterTypes.PLAY === a1) {
|
|
return hasPlayOnDesktopTask({
|
|
quest: a0
|
|
}) || hasStreamOnDesktopTask({
|
|
quest: a0
|
|
}) || hasPlayActivityTask(a0) || isConsoleQuest(a0) || isInGameQuest(a0);
|
|
}
|
|
return false;
|
|
};
|
|
doesQuestPassRewardFilter = function doesQuestPassRewardFilter(a0, a1) {
|
|
if (RewardFilterTypes.VIRTUAL_CURRENCY === a1) {
|
|
return _QuestRewardUtils.hasVirtualCurrencyReward(a0.config);
|
|
}
|
|
if (RewardFilterTypes.COLLECTIBLE === a1) {
|
|
return _QuestRewardUtils.hasCollectiblesQuestReward(a0.config);
|
|
}
|
|
if (RewardFilterTypes.IN_GAME === a1) {
|
|
return hasInGameQuestReward(a0.config) || hasQuestRewardCode(a0.config);
|
|
}
|
|
return false;
|
|
};
|
|
sortQuests = function sortQuests(a0, r5 = c7038_35, r4 = c7038_36) {
|
|
let r28;
|
|
const { sortMethod, filters } = r5;
|
|
let r14 = a0;
|
|
if (filters != null) {
|
|
const length = filters.length;
|
|
r14 = a0;
|
|
if (length !== 0) {
|
|
const length2 = filters.length;
|
|
let r15 = a0;
|
|
if (length2 !== 0) {
|
|
let c18016_0 = groupBy(filters, "group");
|
|
r15 = a0.filter((c30232_0) => Object.entries(c18016_0).every((item) => {
|
|
const [r8, r23] = item;
|
|
let c31532_0 = c30232_0;
|
|
let c31532_1 = r8 === "task" ? doesQuestPassTaskFilter : r8 === "reward" ? doesQuestPassRewardFilter : void 0;
|
|
return r23.length === 0 || r23.some((item) => c31532_1(c31532_0, item.filter));
|
|
}));
|
|
}
|
|
r14 = r15;
|
|
}
|
|
}
|
|
if (QuestHomeSortMethods.MOST_RECENT === sortMethod) {
|
|
r28 = recentSortFn;
|
|
} else if (QuestHomeSortMethods.RECENTLY_ENROLLED === sortMethod) {
|
|
r28 = recentlyEnrolledSortFn;
|
|
} else if (QuestHomeSortMethods.EXPIRING_SOON === sortMethod) {
|
|
r28 = expiringSoonSortFn;
|
|
} else {
|
|
QuestHomeSortMethods.SUGGESTED;
|
|
r28 = defaultSortFn;
|
|
}
|
|
let c18017_0 = r28;
|
|
let c18017_1 = r4;
|
|
return r14.sort(function(a, b) {
|
|
const isQuestExpired = _QuestDataUtils.isQuestExpired(a);
|
|
return !isQuestExpired !== !_QuestDataUtils.isQuestExpired(b) ? isQuestExpired ? 1 : c7038_27 : c18017_0(a, b, c18017_1);
|
|
});
|
|
};
|
|
useAllQuests = function useAllQuests(a0, a1) {
|
|
let memo, ref, ref2, ref3, ref4, ref5;
|
|
let isShelfEnabled;
|
|
let env18020;
|
|
const stateFromStores = useStateFromStores([QuestStore], () => null, [useShouldRemoveQuestHomeHero()]);
|
|
const r22 = env18020 = {
|
|
$parent: env7038
|
|
};
|
|
env18020[0] = void 0;
|
|
env18020[1] = void 0;
|
|
const stateFromStores6 = useStateFromStores([QuestStore], $mk84879());
|
|
env18020[0] = stateFromStores6;
|
|
const questIds = stateFromStores?.questIds;
|
|
env18020[1] = questIds;
|
|
isShelfEnabled = useMemo($mk84880(r22), [stateFromStores6, questIds]).isShelfEnabled;
|
|
memo = useMemo(() => ({
|
|
questHomeHero: stateFromStores,
|
|
isQuestHomeHeroShelfEnabled: isShelfEnabled
|
|
}), [stateFromStores, isShelfEnabled]);
|
|
ref = useRef([]);
|
|
ref2 = useRef(a1.sortMethod);
|
|
ref3 = useRef(a1.filters);
|
|
ref4 = useRef(0);
|
|
ref5 = useRef(memo);
|
|
return useMemo(() => {
|
|
if (a0.length === 0) {
|
|
return [];
|
|
}
|
|
if (ref.current.length > 0 && ref4.current === a0.length) {
|
|
const current = ref2.current;
|
|
if (current === a1.sortMethod && ref3.current === a1.filters && ref5.current === memo) {
|
|
return ref.current;
|
|
}
|
|
}
|
|
const current2 = sortQuests(a0, a1, memo).map((item) => item.id);
|
|
ref.current = current2;
|
|
ref2.current = a1.sortMethod;
|
|
ref3.current = a1.filters;
|
|
ref4.current = a0.length;
|
|
ref5.current = memo;
|
|
return current2;
|
|
}, [a0, a1, memo]);
|
|
};
|
|
isQuestHiddenFromQuestHome = function isQuestHiddenFromQuestHome(a0) {
|
|
return _QuestDataUtils.isQuestExpired(a0) && !hasUnclaimedReward(a0.userStatus);
|
|
};
|
|
useIsQuestProgressing = function useIsQuestProgressing(a0) {
|
|
let env18025;
|
|
let env18026;
|
|
let env18027;
|
|
const r1 = env18025 = {
|
|
$parent: env7038
|
|
};
|
|
env18025[0] = a0;
|
|
let r12 = useStateFromStores([QuestStore], $mk84864(r1));
|
|
const r13 = env18026 = {
|
|
$parent: env7038
|
|
};
|
|
env18026[0] = a0;
|
|
const memo4 = useMemo($mk84865(r13), [a0]);
|
|
const r19 = env18027 = {
|
|
$parent: env7038
|
|
};
|
|
env18027[0] = a0;
|
|
const stateFromStores6 = useStateFromStores([QuestStore], $mk84866(r19));
|
|
const memo5 = useMemo($mk84867(r19), [a0, stateFromStores6]);
|
|
if (!r12) {
|
|
r12 = memo4;
|
|
}
|
|
if (!r12) {
|
|
r12 = memo5;
|
|
}
|
|
return r12;
|
|
};
|
|
useTaskPlatformScreen = function useTaskPlatformScreen(a0, a1) {
|
|
let c18033_3, c18033_4, memo2, DESKTOP;
|
|
let env18034;
|
|
let env18035;
|
|
let env18036;
|
|
const id = a0.id;
|
|
const r3 = env18034 = {
|
|
$parent: env7038
|
|
};
|
|
env18034[0] = id;
|
|
const [selectedPlatform, r28] = [useStateFromStores([QuestStore], $mk84872(r3)), useCallback($mk84873(r3), [id])];
|
|
const memo4 = useMemo(() => supportedTaskPlatforms(a0), [a0]);
|
|
const r36 = memo4.includes(QuestTaskPlatform.DESKTOP);
|
|
c18033_3 = r36;
|
|
const r38 = memo4.includes(QuestTaskPlatform.CONSOLE);
|
|
c18033_4 = r38;
|
|
const r39 = env18035 = {
|
|
$parent: env7038
|
|
};
|
|
env18035[0] = a0;
|
|
const stateFromStores6 = useStateFromStores([QuestStore], $mk84864(r39));
|
|
const r45 = env18036 = {
|
|
$parent: env7038
|
|
};
|
|
env18036[0] = a0;
|
|
const memo5 = useMemo($mk84865(r45), [a0]);
|
|
memo2 = useMemo(() => match(a1).with({
|
|
percentComplete: 0
|
|
}, () => null).with({
|
|
taskType: FirstPartyQuestTaskTypes.PLAY_ON_DESKTOP
|
|
}, () => QuestTaskPlatform.DESKTOP).with({
|
|
taskType: FirstPartyQuestTaskTypes.PLAY_ACTIVITY
|
|
}, () => QuestTaskPlatform.DESKTOP).with({
|
|
taskType: FirstPartyQuestTaskTypes.WATCH_VIDEO
|
|
}, () => QuestTaskPlatform.DESKTOP).with({
|
|
taskType: FirstPartyQuestTaskTypes.WATCH_VIDEO_ON_MOBILE
|
|
}, () => QuestTaskPlatform.DESKTOP).with({
|
|
taskType: FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP
|
|
}, () => QuestTaskPlatform.DESKTOP).with({
|
|
taskType: FirstPartyQuestTaskTypes.PLAY_ON_XBOX
|
|
}, () => QuestTaskPlatform.CONSOLE).with({
|
|
taskType: FirstPartyQuestTaskTypes.PLAY_ON_PLAYSTATION
|
|
}, () => QuestTaskPlatform.CONSOLE).with({
|
|
taskType: FirstPartyQuestTaskTypes.ACHIEVEMENT_IN_GAME
|
|
}, () => QuestTaskPlatform.DESKTOP).with({
|
|
taskType: FirstPartyQuestTaskTypes.ACHIEVEMENT_IN_ACTIVITY
|
|
}, () => QuestTaskPlatform.DESKTOP).exhaustive(), [a1]);
|
|
DESKTOP = stateFromStores6 ? QuestTaskPlatform.DESKTOP : memo5 ? QuestTaskPlatform.CONSOLE : null;
|
|
return [useMemo(() => match({
|
|
lastPlatformProgress: memo2,
|
|
currentProgressingPlatform: DESKTOP,
|
|
selectedPlatform
|
|
}).with({
|
|
currentProgressingPlatform: QuestTaskPlatform.CONSOLE
|
|
}, () => TaskPlatformScreen.CONSOLE).with({
|
|
currentProgressingPlatform: QuestTaskPlatform.DESKTOP
|
|
}, () => TaskPlatformScreen.DESKTOP).with({
|
|
currentProgressingPlatform: null,
|
|
lastPlatformProgress: QuestTaskPlatform.CONSOLE
|
|
}, () => TaskPlatformScreen.CONSOLE).with({
|
|
currentProgressingPlatform: null,
|
|
lastPlatformProgress: QuestTaskPlatform.DESKTOP
|
|
}, () => TaskPlatformScreen.DESKTOP).with({
|
|
currentProgressingPlatform: null,
|
|
lastPlatformProgress: null,
|
|
selectedPlatform: QuestTaskPlatform.CONSOLE
|
|
}, () => TaskPlatformScreen.CONSOLE).with({
|
|
currentProgressingPlatform: null,
|
|
lastPlatformProgress: null,
|
|
selectedPlatform: QuestTaskPlatform.DESKTOP
|
|
}, () => TaskPlatformScreen.DESKTOP).with({
|
|
currentProgressingPlatform: null,
|
|
lastPlatformProgress: null,
|
|
selectedPlatform: null
|
|
}, () => c18033_4 && c18033_3 ? TaskPlatformScreen.SELECT : c18033_4 ? TaskPlatformScreen.CONSOLE : TaskPlatformScreen.DESKTOP).exhaustive(), [r38, r36, memo2, DESKTOP, selectedPlatform]), memo4, r28];
|
|
};
|
|
c7038_27 = -1;
|
|
c7038_35 = {};
|
|
c7038_36 = {
|
|
questHomeHero: null,
|
|
isQuestHomeHeroShelfEnabled: false
|
|
};
|
|
c7038_38 = {
|
|
DESC: 0,
|
|
0: "DESC",
|
|
ASC: 1,
|
|
1: "ASC"
|
|
};
|
|
c7038_40 = {
|
|
ALL: "all",
|
|
CLAIMED: "claimed",
|
|
PREVIEW_TOOL: "preview_tool"
|
|
};
|
|
const r79 = {
|
|
TAB: "tab",
|
|
QUEST_ID: "quest_id",
|
|
SORT: "sort",
|
|
FILTER: "filter",
|
|
AD_CREATIVE_IDS: "ad_creative_ids"
|
|
};
|
|
useQuestTaskDetails = (a0) => {
|
|
let env18038;
|
|
const r3 = env18038 = {
|
|
$parent: env7038
|
|
};
|
|
env18038[0] = a0;
|
|
const callback2 = useCallback($mk84881(r3), [a0]);
|
|
env18038[1] = callback2;
|
|
const r15 = _slicedToArray(useState(callback2()), 2);
|
|
const r16 = r15[0];
|
|
env18038[2] = r15[1];
|
|
const callback3 = useCallback($mk84882(r3), [callback2]);
|
|
env18038[3] = callback3;
|
|
const isQuestProgressing = useIsQuestProgressing(a0);
|
|
env18038[4] = isQuestProgressing;
|
|
useEffect($mk84883(r3), [a0, isQuestProgressing, callback3]);
|
|
return r16;
|
|
};
|
|
c7038_44 = {
|
|
UNACCEPTED: 0,
|
|
0: "UNACCEPTED",
|
|
ACCEPTED: 1,
|
|
1: "ACCEPTED",
|
|
IN_PROGRESS: 2,
|
|
2: "IN_PROGRESS",
|
|
COMPLETED: 3,
|
|
3: "COMPLETED",
|
|
CLAIMED: 4,
|
|
4: "CLAIMED"
|
|
};
|
|
c7038_46 = 6 * Durations.Millis.HOUR;
|
|
MINUTE = Durations.Millis.MINUTE;
|
|
export { sortQuests };
|
|
export { c7038_40 as QuestTabs };
|
|
export { r79 as QuestQueryParams };
|
|
export function useFilteredQuests(a0, r6 = c7038_35) {
|
|
const quests2 = useQuests({
|
|
fetchPolicy: "cache-and-network",
|
|
callerSource: "use_filtered_quests"
|
|
});
|
|
const { quests, excludedQuests, isFetchingCurrentQuests: isFetchingCurrentQuests2, hasFetched } = quests2;
|
|
const map = new Map(quests.map((quest) => [quest.id, quest]));
|
|
const allQuests = useAllQuests(quests, r6);
|
|
let r39 = (function useCompletedAndClaimedQuests(a0) {
|
|
let ref10;
|
|
const memo3 = useMemo(() => a0.filter((item) => {
|
|
let r7 = item.userStatus?.completedAt != null;
|
|
const r9 = item.userStatus?.claimedAt != null;
|
|
if (r7) {
|
|
r7 = r9;
|
|
}
|
|
return r7;
|
|
}), [a0]);
|
|
ref10 = useRef([]);
|
|
return useMemo(() => {
|
|
if (memo3.length === 0) {
|
|
return [];
|
|
}
|
|
if (ref10.current.length > 0 && ref10.current.length === memo3.length) {
|
|
return ref10.current;
|
|
}
|
|
const current = memo3.sort((a, b) => {
|
|
let r24;
|
|
const r2 = a.userStatus?.claimedAt == null;
|
|
if (r2 !== (b.userStatus?.claimedAt == null)) {
|
|
r24 = r2 ? c7038_27 : 1;
|
|
} else {
|
|
const rewardsExpireAt = a.config.rewardsConfig.rewardsExpireAt;
|
|
const rewardsExpireAt2 = b.config.rewardsConfig.rewardsExpireAt;
|
|
const r21 = c7038_38.DESC === c7038_38.DESC ? c7038_27 : 1;
|
|
r24 = rewardsExpireAt.localeCompare(rewardsExpireAt2) * r21;
|
|
}
|
|
return r24;
|
|
}).map((item) => item.id);
|
|
ref10.current = current;
|
|
return current;
|
|
}, [memo3]);
|
|
})(quests);
|
|
const ALL = c7038_40.ALL;
|
|
const r42 = r6;
|
|
if (a0 === ALL) {
|
|
r39 = allQuests;
|
|
}
|
|
const quests3 = [];
|
|
for (const item of r39) {
|
|
const r50 = map.get(item);
|
|
const r56 = r50 != null && a0 === c7038_40.ALL && r42.removeExpiredQuests && isQuestHiddenFromQuestHome(r50);
|
|
if (!(r50 == null || r56)) {
|
|
quests3.push(r50);
|
|
}
|
|
}
|
|
return {
|
|
quests: quests3,
|
|
excludedQuests,
|
|
isFetchingCurrentQuests: isFetchingCurrentQuests2,
|
|
hasFetched
|
|
};
|
|
}
|
|
export function useClaimedQuests() {
|
|
let stateFromStores2;
|
|
const ref6 = useRef(false);
|
|
const stateFromStoresArray2 = useStateFromStoresArray([QuestStore], () => Array.from(QuestStore.claimedQuests.values()));
|
|
stateFromStores2 = useStateFromStores([QuestStore], () => QuestStore.isFetchingClaimedQuests);
|
|
useEffect(() => {
|
|
let r2 = stateFromStores2;
|
|
if (!stateFromStores2) {
|
|
r2 = ref6.current;
|
|
}
|
|
if (!r2) {
|
|
ref6.current = true;
|
|
fetchClaimedQuests();
|
|
}
|
|
}, [stateFromStores2]);
|
|
return {
|
|
claimedQuests: stateFromStoresArray2,
|
|
isFetchingClaimedQuests: stateFromStores2
|
|
};
|
|
}
|
|
export function useExpiredQuestsMap() {
|
|
return useStateFromStores([QuestStore], () => QuestStore.getExpiredQuestsMap());
|
|
}
|
|
export function useShouldShowBonusOrbsUX(a0, a1) {
|
|
let env18040;
|
|
const r4 = env18040 = {
|
|
$parent: env7038
|
|
};
|
|
env18040[0] = a0;
|
|
const stateFromStores6 = useStateFromStores([QuestStore], $mk84863(r4), [a0]);
|
|
const hasVirtualCurrencyReward = _QuestRewardUtils.hasVirtualCurrencyReward(a0.config);
|
|
const hasPremiumOrbQuantity = _QuestRewardUtils.hasPremiumOrbQuantity(a0.config);
|
|
const INELIGIBLE = QuestOrbMultiplierEligibilityType.INELIGIBLE;
|
|
return (stateFromStores6 ? !stateFromStores6 : hasVirtualCurrencyReward) && hasPremiumOrbQuantity && a1 !== INELIGIBLE;
|
|
}
|
|
export function useQuestOrbRewardMultiplier(a0) {
|
|
return useStateFromStores([QuestStore], () => {
|
|
const quest3 = QuestStore.getQuest(a0);
|
|
return quest3 != null ? getQuestOrbMultiplier(quest3.config) : null;
|
|
}, [a0]);
|
|
}
|
|
export function useIsQuestExpired(a0) {
|
|
let env18021;
|
|
const r1 = env18021 = {
|
|
$parent: env7038
|
|
};
|
|
env18021[0] = a0;
|
|
return useStateFromStores([QuestStore], $mk84863(r1), [a0]);
|
|
}
|
|
export function useIsQuestEligibleForMembersListPopout(a0, a1, a2) {
|
|
const stateFromStores6 = useStateFromStores([ChannelStore], () => {
|
|
let r8 = ChannelStore.getChannel(a1?.channelId);
|
|
if (r8 == null) {
|
|
r8 = null;
|
|
}
|
|
return r8;
|
|
});
|
|
const stateFromStores7 = useStateFromStores([QuestStore], () => QuestStore.questEnrollmentBlockedUntil != null, []);
|
|
const stateFromStores8 = useStateFromStores([UserStore], () => UserStore.getCurrentUser()?.id);
|
|
const stateFromStores9 = useStateFromStores([QuestStore], () => a0 != null && QuestStore.isQuestExpired(a0.id), [a0]);
|
|
if (a0 != null && !stateFromStores7 && !stateFromStores9 && stateFromStores8 !== a2) {
|
|
let r41 = a0.userStatus?.claimedAt != null;
|
|
const isStreamingAndCanWatch = _QuestUtils.isStreamingAndCanWatch(a1, stateFromStores6);
|
|
if (r41) {
|
|
r41 = !isStreamingAndCanWatch;
|
|
}
|
|
return !r41;
|
|
}
|
|
return false;
|
|
}
|
|
export function useQuestFormattedDate(a0) {
|
|
let r6 = arguments[1];
|
|
if (r6 === void 0) {
|
|
r6 = {
|
|
dateStyle: "short"
|
|
};
|
|
}
|
|
let c18043_1 = r6;
|
|
const stateFromStores3 = useStateFromStores([LocaleStore], () => LocaleStore.locale);
|
|
return useMemo(() => a0 == null ? "" : new Date(a0).toLocaleDateString(stateFromStores3, c18043_1), [a0, r6, stateFromStores3]);
|
|
}
|
|
export function useOnOpenGameClick({ quest, content, ctaContent, sourceQuestContent }) {
|
|
const getQuestImpressionId = useGetQuestImpressionId();
|
|
return useCallback(() => {
|
|
if (quest.id !== ORBS_INTRO_QUEST_ID) {
|
|
openGameLinkDirectly(quest, {
|
|
content,
|
|
ctaContent,
|
|
impressionId: getQuestImpressionId(),
|
|
sourceQuestContent
|
|
});
|
|
} else {
|
|
window.open(HelpdeskUtils.getArticleURL(HelpdeskArticles.VIRTUAL_CURRENCY_LEARN_MORE));
|
|
}
|
|
}, [quest, content, ctaContent, getQuestImpressionId, sourceQuestContent]);
|
|
}
|
|
export function useIsQuestProgressingOnDesktop(a0) {
|
|
let env18022;
|
|
const r1 = env18022 = {
|
|
$parent: env7038
|
|
};
|
|
env18022[0] = a0;
|
|
return useStateFromStores([QuestStore], $mk84864(r1));
|
|
}
|
|
export function useIsQuestProgressingOnConsole(a0) {
|
|
let env18023;
|
|
const r0 = env18023 = {
|
|
$parent: env7038
|
|
};
|
|
env18023[0] = a0;
|
|
return useMemo($mk84865(r0), [a0]);
|
|
}
|
|
export function useIsQuestProgressingVideoQuest(a0) {
|
|
let env18024;
|
|
const r1 = env18024 = {
|
|
$parent: env7038
|
|
};
|
|
env18024[0] = a0;
|
|
const stateFromStores6 = useStateFromStores([QuestStore], $mk84866(r1));
|
|
return useMemo($mk84867(r1), [a0, stateFromStores6]);
|
|
}
|
|
export { useIsQuestProgressing };
|
|
export { useQuestTaskDetails };
|
|
export function useThirdPartyTaskDetails(a0) {
|
|
let env18028;
|
|
const r0 = env18028 = {
|
|
$parent: env7038
|
|
};
|
|
env18028[0] = a0;
|
|
return useMemo($mk84868(r0), [a0]);
|
|
}
|
|
export function useConnectedConsoleLinkOnClick({ quest: quest2, questContent, sourceQuestContent: sourceQuestContent2 }) {
|
|
let env18046;
|
|
const r6 = env18046 = {
|
|
$parent: env7038
|
|
};
|
|
env18046[0] = void 0;
|
|
const stateFromStoresObject = useStateFromStoresObject([ConnectedAccountsStore], $mk84870());
|
|
stateFromStoresObject.fetching;
|
|
const accounts = stateFromStoresObject.accounts;
|
|
env18046[0] = accounts;
|
|
const memo4 = useMemo($mk84871(r6), [accounts]);
|
|
memo4.xboxAccounts;
|
|
memo4.playstationAccounts;
|
|
const xboxAndPlaystationAccounts = memo4.xboxAndPlaystationAccounts;
|
|
const isQuestProgressing = useIsQuestProgressing(quest2);
|
|
const length = xboxAndPlaystationAccounts.length;
|
|
let c18045_3 = isConsoleQuest(quest2) && length === 0 && !isQuestProgressing;
|
|
const getQuestImpressionId2 = useGetQuestImpressionId();
|
|
return () => {
|
|
if (c18045_3) {
|
|
openAddConsoleConnectionModal({
|
|
quest: quest2
|
|
}, {
|
|
content: questContent,
|
|
ctaContent: QuestContentCTA.CONNECT_CONSOLE_LINK,
|
|
impressionId: getQuestImpressionId2(),
|
|
sourceQuestContent: sourceQuestContent2
|
|
});
|
|
} else {
|
|
openConsoleConnectionSettings({
|
|
quest: quest2
|
|
}, {
|
|
content: questContent,
|
|
ctaContent: QuestContentCTA.VIEW_CONSOLE_CONNECTIONS_LINK,
|
|
impressionId: getQuestImpressionId2(),
|
|
sourceQuestContent: sourceQuestContent2
|
|
});
|
|
}
|
|
};
|
|
}
|
|
export function useGetOrFetchApplicationForConsoleQuests(a0) {
|
|
let env18029;
|
|
const r2 = env18029 = {
|
|
$parent: env7038
|
|
};
|
|
env18029[0] = a0;
|
|
return useGetOrFetchApplications(useMemo($mk84869(r2), [a0]));
|
|
}
|
|
export function useQuestForMemberListSocialEntryPoint(a0) {
|
|
let env18048;
|
|
let env18049;
|
|
const stateFromStores4 = useStateFromStores([QuestStore], () => QuestStore.quests);
|
|
const r12 = Array.from(stateFromStores4.values());
|
|
const r20 = env18048 = {
|
|
$parent: env7038
|
|
};
|
|
env18048[0] = r12;
|
|
const memo4 = useMemo(() => getQuestsFromActivities(filterQuestsForSocialEntrypoints(stateFromStores4, MEMBER_LIST_SOCIAL_ENTRY_POINT_ALLOWED_TASK_TYPES), a0), [a0, stateFromStores4, useGetOrFetchApplications(useMemo($mk84869(r20), [r12]))]);
|
|
const r33 = env18049 = {
|
|
$parent: env7038
|
|
};
|
|
env18049[0] = memo4;
|
|
return useStateFromStores([QuestStore], $mk84863(r33), [memo4]) ? null : memo4;
|
|
}
|
|
export function useQuestCollectibles(a0) {
|
|
const hasCollectiblesQuestReward = _QuestRewardUtils.hasCollectiblesQuestReward(a0);
|
|
const fetchCollectiblesProduct = useFetchCollectiblesProduct(getDefaultReward(a0).skuId);
|
|
const { product, isFetching } = fetchCollectiblesProduct;
|
|
const r2 = product == null;
|
|
let avatarDecoration = void 0;
|
|
if (!r2) {
|
|
const items = product.items;
|
|
avatarDecoration = items == null ? void 0 : items[0];
|
|
}
|
|
return {
|
|
hasQuestCollectibles: hasCollectiblesQuestReward,
|
|
avatarDecoration,
|
|
isFetching
|
|
};
|
|
}
|
|
export function useQuestPreviewActions(a0) {
|
|
let c18050_0 = a0;
|
|
return useMemo(() => ({
|
|
handleComplete: () => completeQuestPreview(c18050_0),
|
|
handleProgress: (a0) => completeQuestPreview(c18050_0, a0),
|
|
handleResetStatusClick: () => resetQuestPreviewStatus(c18050_0),
|
|
handleResetDismissibilityClick: () => resetQuestDismissibilityStatus(c18050_0),
|
|
handleOverridePreviewClick: (a0) => overrideQuestForPlacement(a0, c18050_0),
|
|
handleResetHasBeenSeenClick: () => markAdContentUnseen(AdCreativeType.QUEST, [c18050_0])
|
|
}), [a0]);
|
|
}
|
|
export function useConnectedAccounts() {
|
|
let env18030;
|
|
const r1 = env18030 = {
|
|
$parent: env7038
|
|
};
|
|
const stateFromStoresObject = useStateFromStoresObject([ConnectedAccountsStore], $mk84870());
|
|
const { fetching, accounts } = stateFromStoresObject;
|
|
env18030[0] = accounts;
|
|
const memo4 = useMemo($mk84871(r1), [accounts]);
|
|
return {
|
|
fetching,
|
|
xboxAccounts: memo4.xboxAccounts,
|
|
playstationAccounts: memo4.playstationAccounts,
|
|
xboxAndPlaystationAccounts: memo4.xboxAndPlaystationAccounts
|
|
};
|
|
}
|
|
export function useManuallyStartConsoleQuest({ questId, preview, beforeRequest, afterRequest }) {
|
|
let c18051_6, callback;
|
|
c18051_6 = void 0;
|
|
callback = void 0;
|
|
const [state2, setState2] = useState(false);
|
|
const stateFromStores6 = useStateFromStores([ConnectedAccountsStore], () => ConnectedAccountsStore.getAccounts());
|
|
const r28 = (0, useConsoleQuestUIStore)((a0) => a0.clearErrorHintsByType);
|
|
c18051_6 = r28;
|
|
callback = useCallback((a0) => useConsoleQuestUIStore.getState().setErrorHints(questId, a0), [questId]);
|
|
useEffect(() => {
|
|
c18051_6(questId, QuestConsoleStartError.EXPIRED_CREDENTIAL);
|
|
}, [stateFromStores6, r28, questId]);
|
|
return {
|
|
startConsoleQuest: useCallback(async () => {
|
|
let c26695_2;
|
|
let c26695_3 = 0;
|
|
let c30233_0;
|
|
L16: {
|
|
try {
|
|
c30233_0 = void 0;
|
|
if (state2) {
|
|
break L16;
|
|
}
|
|
if (beforeRequest != null) {
|
|
beforeRequest();
|
|
}
|
|
setState2(true);
|
|
c30233_0 = null;
|
|
c26695_3 = 1;
|
|
c30233_0 = await manuallyStartConsoleQuest(questId, preview);
|
|
(0, callback)(c30233_0.errorHints);
|
|
c26695_3 = 0;
|
|
(0, setState2)(false);
|
|
if (afterRequest != null) {
|
|
afterRequest();
|
|
}
|
|
} catch ($e) {
|
|
const r26 = $e;
|
|
let r7 = r26;
|
|
c26695_2 = r26;
|
|
if (c26695_3 !== 0) {
|
|
while (true) {
|
|
try {
|
|
const r77 = c26695_2;
|
|
c26695_3 = 0;
|
|
(0, setState2)(false);
|
|
if (afterRequest != null) {
|
|
afterRequest();
|
|
}
|
|
throw r77;
|
|
} catch (r74) {
|
|
r7 = r74;
|
|
c26695_2 = r74;
|
|
if (c26695_3 === 0) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
throw r7;
|
|
}
|
|
return void 0;
|
|
}
|
|
}, [state2, beforeRequest, afterRequest, preview, questId, callback]),
|
|
startingConsoleQuest: state2
|
|
};
|
|
}
|
|
export function useWaitingForConsoleConnection({ quest: quest3 }) {
|
|
let env18031;
|
|
const r4 = env18031 = {
|
|
$parent: env7038
|
|
};
|
|
env18031[0] = void 0;
|
|
const stateFromStoresObject = useStateFromStoresObject([ConnectedAccountsStore], $mk84870());
|
|
stateFromStoresObject.fetching;
|
|
const accounts = stateFromStoresObject.accounts;
|
|
env18031[0] = accounts;
|
|
const memo4 = useMemo($mk84871(r4), [accounts]);
|
|
memo4.xboxAccounts;
|
|
memo4.playstationAccounts;
|
|
const xboxAndPlaystationAccounts = memo4.xboxAndPlaystationAccounts;
|
|
const isQuestProgressing = useIsQuestProgressing(quest3);
|
|
const length = xboxAndPlaystationAccounts.length;
|
|
return isConsoleQuest(quest3) && length === 0 && !isQuestProgressing;
|
|
}
|
|
export function useQuestHowToHelpArticle() {
|
|
let message;
|
|
let env18052;
|
|
const r6 = env18052 = {
|
|
$parent: env7038
|
|
};
|
|
const stateFromStoresObject = useStateFromStoresObject([ConnectedAccountsStore], $mk84870());
|
|
stateFromStoresObject.fetching;
|
|
const accounts = stateFromStoresObject.accounts;
|
|
env18052[0] = accounts;
|
|
const memo4 = useMemo($mk84871(r6), [accounts]);
|
|
const { xboxAccounts, playstationAccounts } = memo4;
|
|
memo4.xboxAndPlaystationAccounts;
|
|
const r2 = xboxAccounts.length > 0;
|
|
const r3 = playstationAccounts.length > 0;
|
|
const articleURL = HelpdeskUtils.getArticleURL(HelpdeskArticles.QUEST_HOW_TO_PLAYSTATION);
|
|
const articleURL2 = HelpdeskUtils.getArticleURL(HelpdeskArticles.QUEST_HOW_TO_XBOX);
|
|
const r48 = intl.format(t.beN4DG, {
|
|
psHelpdeskArticle: articleURL,
|
|
xboxHelpdeskArticle: articleURL2
|
|
});
|
|
const HVS7nh = t.HVS7nh;
|
|
const helpdeskArticle = r3 ? articleURL : articleURL2;
|
|
L7: {
|
|
const r59 = intl.format(HVS7nh, {
|
|
helpdeskArticle
|
|
});
|
|
if (!(r2 && !r3)) {
|
|
message = r48;
|
|
if (r2) {
|
|
break L7;
|
|
}
|
|
message = r3 ? r59 : r48;
|
|
} else {
|
|
message = r59;
|
|
}
|
|
}
|
|
return {
|
|
message,
|
|
xboxURL: articleURL2,
|
|
playstationURL: articleURL
|
|
};
|
|
}
|
|
export { c7038_44 as QuestProgressState };
|
|
export function useProgressState(a0) {
|
|
let CLAIMED;
|
|
const r17 = a0.userStatus?.enrolledAt != null;
|
|
const r20 = a0.userStatus?.completedAt != null;
|
|
const r24 = a0.userStatus?.claimedAt != null;
|
|
let env18053;
|
|
L21: {
|
|
const r8 = env18053 = {
|
|
$parent: env7038
|
|
};
|
|
env18053[0] = a0;
|
|
const callback2 = useCallback($mk84881(r8), [a0]);
|
|
env18053[1] = callback2;
|
|
const r33 = _slicedToArray(useState(callback2()), 2);
|
|
const r34 = r33[0];
|
|
env18053[2] = r33[1];
|
|
const callback3 = useCallback($mk84882(r8), [callback2]);
|
|
env18053[3] = callback3;
|
|
const isQuestProgressing = useIsQuestProgressing(a0);
|
|
env18053[4] = isQuestProgressing;
|
|
useEffect($mk84883(r8), [a0, isQuestProgressing, callback3]);
|
|
const r46 = r34.percentComplete > 0;
|
|
if (r24) {
|
|
CLAIMED = c7038_44.CLAIMED;
|
|
} else if (r20) {
|
|
CLAIMED = c7038_44.COMPLETED;
|
|
} else {
|
|
if (r46 && r17) {
|
|
CLAIMED = c7038_44.IN_PROGRESS;
|
|
break L21;
|
|
}
|
|
CLAIMED = r17 ? c7038_44.ACCEPTED : c7038_44.UNACCEPTED;
|
|
}
|
|
}
|
|
return CLAIMED;
|
|
}
|
|
export function useQuestCompletionDetails(a0, r8 = false) {
|
|
const stateFromStores6 = useStateFromStores([LocaleStore], () => LocaleStore.locale);
|
|
let env18054;
|
|
let env18055;
|
|
const r24 = env18054 = {
|
|
$parent: env7038
|
|
};
|
|
env18054[0] = a0;
|
|
const callback2 = useCallback($mk84881(r24), [a0]);
|
|
env18054[1] = callback2;
|
|
const r32 = _slicedToArray(useState(callback2()), 2);
|
|
const r33 = r32[0];
|
|
env18054[2] = r32[1];
|
|
const callback3 = useCallback($mk84882(r24), [callback2]);
|
|
env18054[3] = callback3;
|
|
const isQuestProgressing = useIsQuestProgressing(a0);
|
|
env18054[4] = isQuestProgressing;
|
|
useEffect($mk84883(r24), [a0, isQuestProgressing, callback3]);
|
|
let percentComplete = r33.percentComplete;
|
|
const r45 = env18055 = {
|
|
$parent: env7038
|
|
};
|
|
env18055[0] = a0;
|
|
const memo4 = useMemo($mk84868(r45), [a0]);
|
|
if (memo4 != null) {
|
|
percentComplete = memo4.percentComplete;
|
|
}
|
|
return {
|
|
completedRatio: percentComplete,
|
|
percentComplete: 100 * percentComplete,
|
|
completedRatioDisplay: memo4 != null && !r8 ? `${memo4?.progress}/${memo4?.target}` : formatPercent(stateFromStores6, percentComplete, {
|
|
roundingMode: "floor"
|
|
})
|
|
};
|
|
}
|
|
export function useSelectedTaskPlatform(a0) {
|
|
let env18032;
|
|
const r2 = env18032 = {
|
|
$parent: env7038
|
|
};
|
|
env18032[0] = a0;
|
|
return [useStateFromStores([QuestStore], $mk84872(r2)), useCallback($mk84873(r2), [a0])];
|
|
}
|
|
export { useTaskPlatformScreen };
|
|
export function useQuestWarningTips(a0) {
|
|
let env18056;
|
|
const r5 = env18056 = {
|
|
$parent: env7038
|
|
};
|
|
env18056[0] = a0;
|
|
const memo4 = useMemo($mk84868(r5), [a0]);
|
|
let env18057;
|
|
let env18058;
|
|
const r22 = env18057 = {
|
|
$parent: env7038
|
|
};
|
|
env18057[0] = a0;
|
|
const callback2 = useCallback($mk84881(r22), [a0]);
|
|
env18057[1] = callback2;
|
|
const r10 = _slicedToArray(useState(callback2()), 2);
|
|
const r30 = r10[0];
|
|
env18057[2] = r10[1];
|
|
const callback3 = useCallback($mk84882(r22), [callback2]);
|
|
env18057[3] = callback3;
|
|
const isQuestProgressing = useIsQuestProgressing(a0);
|
|
env18057[4] = isQuestProgressing;
|
|
useEffect($mk84883(r22), [a0, isQuestProgressing, callback3]);
|
|
const [r44] = useTaskPlatformScreen(a0, r30);
|
|
const r45 = env18058 = {
|
|
$parent: env7038
|
|
};
|
|
env18058[0] = a0;
|
|
const stateFromStores6 = useStateFromStores([QuestStore], $mk84863(r45), [a0]);
|
|
let r58 = a0.userStatus?.enrolledAt != null;
|
|
const r62 = a0.userStatus?.completedAt != null;
|
|
let r69 = FirstPartyQuestTaskTypesSets.DESKTOP.has(r30.taskType) && r30.percentComplete > 0;
|
|
const percentComplete = r30.percentComplete;
|
|
if (r58) {
|
|
r58 = !r62;
|
|
}
|
|
if (r58) {
|
|
r58 = !stateFromStores6;
|
|
}
|
|
if (r58) {
|
|
r58 = memo4 == null;
|
|
}
|
|
if (r58) {
|
|
if (!r69) {
|
|
r69 = percentComplete === 0 && r44 === TaskPlatformScreen.DESKTOP;
|
|
}
|
|
r58 = r69;
|
|
}
|
|
const r82 = isWeb() && r58 && !isQuestSupportedOnWeb(a0);
|
|
const r90 = isMac() && r30.taskType === FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP && r58;
|
|
const r96 = [];
|
|
if (r90) {
|
|
r96.push(intl.string(t.MFGxFM));
|
|
}
|
|
if (r82) {
|
|
r96.push(intl.string(t.BV6xDm));
|
|
}
|
|
return r96;
|
|
}
|
|
export function useQuest(a0) {
|
|
let r13 = useStateFromStores([QuestStore], () => QuestStore.quests).get(a0);
|
|
if (r13 == null) {
|
|
r13 = null;
|
|
}
|
|
return r13;
|
|
}
|
|
export function useNonNullableQuest(a0, a1) {
|
|
let c18059_2;
|
|
const questId2 = a0;
|
|
let r14 = useStateFromStores([QuestStore], () => QuestStore.getQuest(questId2), [a0]);
|
|
if (r14 == null) {
|
|
r14 = null;
|
|
}
|
|
c18059_2 = r14;
|
|
useEffect(() => {
|
|
if (c18059_2 == null) {
|
|
const storeQuestIds = [...QuestStore.quests.keys()];
|
|
captureQuestsException(new Error(`Quest unexpectedly missing from store: ${questId2}`), {
|
|
tags: {
|
|
source: "useNonNullableQuest"
|
|
},
|
|
extra: {
|
|
questId: questId2,
|
|
storeQuestIds,
|
|
storeSize: storeQuestIds.length,
|
|
isFetchingCurrentQuests: QuestStore.isFetchingCurrentQuests,
|
|
lastFetchedCurrentQuests: QuestStore.lastFetchedCurrentQuests
|
|
}
|
|
});
|
|
if (a1 != null) {
|
|
a1();
|
|
}
|
|
}
|
|
}, [r14, a0, a1]);
|
|
return r14;
|
|
}
|
|
export function useQuestBarOrDockModeChangeTracking({ mode, questContent: questContent2, sourceQuestContent: sourceQuestContent3, questId: questId3 }) {
|
|
const ref7 = useRef(null);
|
|
useEffect(() => {
|
|
if (questId3 != null && ref7.current !== mode) {
|
|
trackQuestBarOrDockModeChange({
|
|
mode,
|
|
prevMode: ref7.current,
|
|
questContent: questContent2,
|
|
questId: questId3,
|
|
sourceQuestContent: sourceQuestContent3
|
|
});
|
|
ref7.current = mode;
|
|
}
|
|
}, [questId3, questContent2, mode, sourceQuestContent3]);
|
|
useEffect(() => {
|
|
if (questId3 != null) {
|
|
return () => {
|
|
trackQuestBarOrDockModeChange({
|
|
mode: null,
|
|
prevMode: ref7.current,
|
|
questContent: questContent2,
|
|
questId: questId3,
|
|
sourceQuestContent: sourceQuestContent3
|
|
});
|
|
};
|
|
}
|
|
}, [questId3, questContent2, sourceQuestContent3]);
|
|
}
|
|
export function useCosponsoredLogotypeAsset(a0, a1) {
|
|
let c18061_3;
|
|
const stateFromStores5 = useStateFromStores([QuestStore], () => QuestStore.getQuest(a0), [a0]);
|
|
const theme = useTheme();
|
|
c18061_3 = theme;
|
|
return useMemo(() => {
|
|
if (stateFromStores5 == null) {
|
|
return null;
|
|
}
|
|
let r5 = a1;
|
|
if (r5 == null) {
|
|
r5 = isThemeDark(c18061_3) ? ThemeTypes.DARK : ThemeTypes.LIGHT;
|
|
}
|
|
return getQuestAsset(stateFromStores5, QuestAssetType.COSPONSOR_LOGO_TYPE, r5);
|
|
}, [theme, a1, stateFromStores5]);
|
|
}
|
|
export function useClaimedCollectibleRewardMessage(a0) {
|
|
let r88;
|
|
const stateFromStores6 = useStateFromStores([UserStore], () => UserStore.getCurrentUser());
|
|
const defaultRewardName = getDefaultRewardName(a0, stateFromStores6);
|
|
const collectibleQuestRewardDuration = getCollectibleQuestRewardDuration(a0);
|
|
const collectibleQuestRewardExtendableExpirationDate = getCollectibleQuestRewardExtendableExpirationDate(a0);
|
|
const isCollectibleQuestRewardPermanentWithPremiumSubscription = _QuestRewardUtils.isCollectibleQuestRewardPermanentWithPremiumSubscription(a0);
|
|
const isCollectibleQuestRewardPremiumExtendable = _QuestRewardUtils.isCollectibleQuestRewardPremiumExtendable(a0);
|
|
const isPremium = _PremiumUtils.isPremium(stateFromStores6, PremiumTypes.TIER_2);
|
|
if (collectibleQuestRewardDuration == null) {
|
|
return intl.formatToPlainString(t.l9uXL8, {
|
|
decorationName: defaultRewardName
|
|
});
|
|
}
|
|
const r50 = intl.formatToPlainString(t.o97tNn, {
|
|
rewardName: defaultRewardName
|
|
});
|
|
const r59 = intl.formatToPlainString(t.PkyRZo, {
|
|
rewardName: defaultRewardName,
|
|
expirationDate: collectibleQuestRewardExtendableExpirationDate
|
|
});
|
|
let r69 = intl.formatToPlainString(t.ie4YK0, {
|
|
rewardName: defaultRewardName,
|
|
duration: collectibleQuestRewardDuration
|
|
});
|
|
let r78 = intl.formatToPlainString(t.yCpc0U, {
|
|
duration: collectibleQuestRewardDuration,
|
|
rewardName: defaultRewardName
|
|
});
|
|
if (isCollectibleQuestRewardPremiumExtendable) {
|
|
if (isCollectibleQuestRewardPermanentWithPremiumSubscription) {
|
|
if (isPremium) {
|
|
r69 = r50;
|
|
}
|
|
r78 = r69;
|
|
} else if (isPremium) {
|
|
r78 = r59;
|
|
}
|
|
r88 = r78;
|
|
} else {
|
|
r88 = intl.formatToPlainString(t.tTlItm, {
|
|
duration: collectibleQuestRewardDuration,
|
|
decorationName: defaultRewardName
|
|
});
|
|
}
|
|
return r88;
|
|
}
|
|
export function useLaunchInGameActivityQuest(a0) {
|
|
return {
|
|
launchInGameActivity: useRefocusOrLaunchActivity({
|
|
applicationId: getActivityApplicationId(a0)
|
|
})
|
|
};
|
|
}
|
|
export function useIsPreviewerOnAnyQuest() {
|
|
return useStateFromStoresArray([QuestStore], $mk84877()).some($mk84878());
|
|
}
|
|
export function useShouldShowPreviewToolTab() {
|
|
return useStateFromStoresArray([QuestStore], $mk84877()).some($mk84878());
|
|
}
|
|
export function useShouldShowQuestsActivityPanelItem(a0) {
|
|
let r15 = a0?.userStatus != null && isDismissed(a0.userStatus, QuestContent.ACTIVITY_PANEL);
|
|
const r14 = a0 == null ? null : a0;
|
|
let env18062;
|
|
const r21 = env18062 = {
|
|
$parent: env7038
|
|
};
|
|
env18062[0] = r14;
|
|
const stateFromStores6 = useStateFromStores([QuestStore], $mk84863(r21), [r14]);
|
|
const r33 = (a0 == null ? void 0 : a0.userStatus?.claimedAt) != null;
|
|
const stateFromStores7 = useStateFromStores([QuestStore], () => QuestStore.questEnrollmentBlockedUntil != null, []);
|
|
if (!r15) {
|
|
r15 = stateFromStores6;
|
|
}
|
|
if (!r15) {
|
|
r15 = r33;
|
|
}
|
|
if (!r15) {
|
|
r15 = stateFromStores7;
|
|
}
|
|
return !r15;
|
|
}
|
|
export function useQuestsWithPreviewAccess() {
|
|
const stateFromStoresArray = useStateFromStoresArray([QuestStore], () => [...QuestStore.quests.values()]);
|
|
return useMemo(() => stateFromStoresArray.filter((item) => item.preview), [stateFromStoresArray]);
|
|
}
|
|
export function useQuestHomeFilterOptions() {
|
|
let c18064_0 = SORTED_QUEST_HOME_FILTER_GROUPS;
|
|
return useMemo(() => c18064_0.map((item) => {
|
|
const [r7, options] = item;
|
|
return {
|
|
heading: getFilterGroupHeadingText(r7),
|
|
options
|
|
};
|
|
}), [SORTED_QUEST_HOME_FILTER_GROUPS]);
|
|
}
|
|
export function useQuestHomeSortOptions() {
|
|
return useMemo(() => Object.keys(QuestHomeSortMethods).map((item) => ({
|
|
label: getSortMethodText(QuestHomeSortMethods[item]),
|
|
value: QuestHomeSortMethods[item]
|
|
})), []);
|
|
}
|
|
export function useQuestHomeSortingFilteringAnalytics({ selectedSortMethod, selectedFilters, numQuestsVisible }) {
|
|
const ref8 = useRef(null);
|
|
const ref9 = useRef(null);
|
|
useEffect(() => {
|
|
AnalyticsUtils.track(AnalyticEvents.QUEST_HOME_SORT_METHOD_CHANGED, {
|
|
sort_method: selectedSortMethod,
|
|
previous_sort_method: ref8.current
|
|
});
|
|
ref8.current = selectedSortMethod;
|
|
}, [selectedSortMethod]);
|
|
useEffect(() => {
|
|
const filters = selectedFilters.map((selectedFilter) => selectedFilter.filter);
|
|
const QUEST_HOME_FILTERS_CHANGED = AnalyticEvents.QUEST_HOME_FILTERS_CHANGED;
|
|
let current = ref9.current;
|
|
if (current == null) {
|
|
current = [];
|
|
}
|
|
AnalyticsUtils.track(QUEST_HOME_FILTERS_CHANGED, {
|
|
filters,
|
|
previous_filters: current,
|
|
num_quests_visible: numQuestsVisible
|
|
});
|
|
ref9.current = filters;
|
|
}, [selectedFilters, numQuestsVisible]);
|
|
}
|
|
export function useShouldShowQuestPreviewOverrides(a0) {
|
|
return useMemo(() => {
|
|
const currentUser = UserStore.getCurrentUser();
|
|
return (currentUser == null ? void 0 : currentUser.isStaff()) === true;
|
|
}, []) || a0.preview;
|
|
}
|
|
export function useQuestHomeHeroShelf(a0) {
|
|
let env18037;
|
|
const r2 = env18037 = {
|
|
$parent: env7038
|
|
};
|
|
const stateFromStores6 = useStateFromStores([QuestStore], $mk84879());
|
|
env18037[0] = stateFromStores6;
|
|
const questIds = a0?.questIds;
|
|
env18037[1] = questIds;
|
|
return useMemo($mk84880(r2), [stateFromStores6, questIds]);
|
|
}
|
|
export function useFetchQuestHomeBounties(r2 = {}) {
|
|
let r49;
|
|
const previewAdCreativeIds = r2.previewAdCreativeIds;
|
|
const bountiesExperience = useBountiesExperience(QuestsExperimentLocations.QUEST_HOME_MOBILE);
|
|
const { showBounties, verticalScrollEnabled } = bountiesExperience;
|
|
const enabled = BountyStaleRefreshQuestHomeExperiment.useConfig({
|
|
location: QuestsExperimentLocations.QUEST_HOME_MOBILE
|
|
}).enabled;
|
|
const VIDEO_MODAL_MOBILE = verticalScrollEnabled ? AdPlacement.VIDEO_MODAL_MOBILE : AdPlacement.QUEST_HOME_MOBILE_CAROUSEL;
|
|
let [isLoading, setState3] = useState(showBounties);
|
|
const stateFromStoresObject = useStateFromStoresObject([BountyStore], () => ({
|
|
isFetching: BountyStore.isFetchingQuestHomeBounties,
|
|
questHomeBounties: BountyStore.questHomeBounties
|
|
}));
|
|
const { isFetching, questHomeBounties } = stateFromStoresObject;
|
|
useEffect(() => {
|
|
let c26696_0, c26696_1, c26696_2, _loadBounties2;
|
|
const loadBounties2 = function loadBounties() {
|
|
return _loadBounties2.apply(this, arguments);
|
|
};
|
|
_loadBounties2 = function _loadBounties() {
|
|
const r9 = async () => {
|
|
let c31533_2;
|
|
let c31533_3 = 0;
|
|
try {
|
|
c26696_1 = Date.now();
|
|
c31533_3 = 1;
|
|
if (previewAdCreativeIds != null && previewAdCreativeIds.length > 0) {
|
|
await fetchBountyPreview(previewAdCreativeIds, VIDEO_MODAL_MOBILE);
|
|
} else {
|
|
await fetchQuestHomeBounties(VIDEO_MODAL_MOBILE);
|
|
}
|
|
c31533_3 = 0;
|
|
if (!c26696_0) {
|
|
(0, setState3)(false);
|
|
}
|
|
} catch ($e) {
|
|
const r29 = $e;
|
|
let r7 = r29;
|
|
c31533_2 = r29;
|
|
if (c31533_3 !== 0) {
|
|
while (true) {
|
|
try {
|
|
const r99 = c31533_2;
|
|
c31533_3 = 0;
|
|
if (!c26696_0) {
|
|
(0, setState3)(false);
|
|
}
|
|
throw r99;
|
|
} catch (r96) {
|
|
r7 = r96;
|
|
c31533_2 = r96;
|
|
if (c31533_3 === 0) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
throw r7;
|
|
}
|
|
};
|
|
_loadBounties2 = r9;
|
|
return r9.apply(this, arguments);
|
|
};
|
|
if (showBounties) {
|
|
c26696_0 = false;
|
|
c26696_1 = 0;
|
|
loadBounties2();
|
|
if (enabled) {
|
|
c26696_2 = window.setInterval(() => {
|
|
if (Date.now() - c26696_1 > c7038_46) {
|
|
loadBounties2();
|
|
}
|
|
}, MINUTE);
|
|
return () => {
|
|
c26696_0 = true;
|
|
window.clearInterval(c26696_2);
|
|
};
|
|
}
|
|
return () => {
|
|
c26696_0 = true;
|
|
};
|
|
}
|
|
}, [showBounties, enabled, previewAdCreativeIds, VIDEO_MODAL_MOBILE]);
|
|
if (showBounties) {
|
|
if (!isLoading) {
|
|
isLoading = isFetching;
|
|
}
|
|
r49 = {
|
|
questHomeBounties,
|
|
isLoading
|
|
};
|
|
} else {
|
|
r49 = {
|
|
questHomeBounties: [],
|
|
isLoading: false
|
|
};
|
|
}
|
|
return r49;
|
|
}
|
|
export function useQuestHomeBounties() {
|
|
return useStateFromStoresObject([BountyStore], () => ({
|
|
questHomeBounties: BountyStore.questHomeBounties,
|
|
isFetching: BountyStore.isFetchingQuestHomeBounties
|
|
}));
|
|
}
|
|
export function useQuestBarImpressionSurvey(a0) {
|
|
const setting = DropsOptedOut.useSetting();
|
|
const r15 = a0.userStatus?.enrolledAt != null;
|
|
let c18067_2 = r15;
|
|
return useCallback(() => {
|
|
if (!c18067_2) {
|
|
fireSurveyAction(setting ? SurveyActionTypes.AD_IMPRESSION_QUEST_BAR_OPT_OUT : SurveyActionTypes.AD_IMPRESSION_QUEST_BAR_OPT_IN, {
|
|
quest_id: a0.id
|
|
});
|
|
}
|
|
}, [setting, r15, a0.id]);
|
|
}
|