decord/source/10447__createForOfIteratorHelperLoose.js

1752 lines
67 KiB
JavaScript
Raw Normal View History

2026-07-20 16:05:17 +00:00
// Module ID: 10447
// Function ID: 80700
// Name: _createForOfIteratorHelperLoose
// Dependencies: []
// Exports: useClaimedCollectibleRewardMessage, useClaimedQuests, useConnectedConsoleLinkOnClick, useCosponsoredLogotypeAsset, useExpiredQuestsMap, useFetchQuestHomeBounties, useFilteredQuests, useIsQuestEligibleForMembersListPopout, useLaunchInGameActivityQuest, useManuallyStartConsoleQuest, useNonNullableQuest, useOnOpenGameClick, useProgressState, useQuest, useQuestBarImpressionSurvey, useQuestBarOrDockModeChangeTracking, useQuestCollectibles, useQuestCompletionDetails, useQuestForMemberListSocialEntryPoint, useQuestFormattedDate, useQuestHomeBounties, useQuestHomeFilterOptions, useQuestHomeSortOptions, useQuestHomeSortingFilteringAnalytics, useQuestHowToHelpArticle, useQuestOrbRewardMultiplier, useQuestPreviewActions, useQuestWarningTips, useQuestsWithPreviewAccess, useShouldShowBonusOrbsUX, useShouldShowPreviewToolTab, useShouldShowQuestPreviewOverrides, useShouldShowQuestsActivityPanelItem
// Module 10447 (_createForOfIteratorHelperLoose)
function _createForOfIteratorHelperLoose(@@iterator) {
let arg1 = Symbol_iterator;
@@iterator = "undefined" !== typeof Symbol;
if (Symbol_iterator) {
const _Symbol = Symbol;
@@iterator = Symbol_iterator[Symbol.iterator];
}
if (!Symbol_iterator) {
@@iterator = Symbol_iterator[Symbol.iterator];
}
if (Symbol_iterator) {
const iter = Symbol_iterator.call(Symbol_iterator);
const next = iter.next;
return next.bind(iter);
} else {
const _Array = Array;
let tmp = Symbol_iterator;
if (!Array.isArray(Symbol_iterator)) {
let tmp2;
if (Symbol_iterator) {
if ("string" === typeof Symbol_iterator) {
tmp2 = _arrayLikeToArray(Symbol_iterator, undefined);
} else {
const toString = {}.toString;
const substr = toString.call(Symbol_iterator).slice(8, -1);
let name = substr;
if (tmp3) {
name = Symbol_iterator.constructor.name;
}
if ("Map" !== name) {
if ("Set" !== name) {
if ("Arguments" === name) {
let arr = _arrayLikeToArray(Symbol_iterator, undefined);
} else {
const obj = /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/;
}
}
tmp2 = arr;
}
const _Array2 = Array;
arr = Array.from(Symbol_iterator);
const callResult = toString.call(Symbol_iterator);
const tmp3 = "Object" === substr && Symbol_iterator.constructor;
}
}
tmp = tmp2;
if (!tmp2) {
const _TypeError = TypeError;
const typeError = new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
throw typeError;
}
}
if (tmp) {
arg1 = tmp;
}
let closure_1 = 0;
return () => {
if (closure_1 >= tmp.length) {
let obj = { done: true };
} else {
obj = { done: false };
closure_1 = tmp3 + 1;
obj.value = tmp[+closure_1];
}
return obj;
};
}
}
function _arrayLikeToArray(arg0, arg1) {
let length;
if (tmp) {
length = arg0.length;
}
const ArrayResult = Array(length);
for (let num = 0; num < length; num = num + 1) {
ArrayResult[num] = arg0[num];
}
return ArrayResult;
}
function useQuests(arg0) {
let obj = arg0;
if (arg0 === undefined) {
obj = {};
}
const arg1 = obj;
let importDefault;
let closure_2;
let closure_3;
let callback3;
let React;
const tmp = callback3(React.useState(false), 2);
const hasFetched = tmp[0];
importDefault = hasFetched;
closure_2 = tmp[1];
const items = [closure_12];
const quests = arg1(closure_2[13]).useStateFromStoresArray(items, () => {
const quests = closure_12.quests;
const items = [...quests.values()];
return items;
});
const obj2 = arg1(closure_2[13]);
const items1 = [closure_12];
const excludedQuests = arg1(closure_2[13]).useStateFromStoresArray(items1, () => {
const excludedQuests = closure_12.excludedQuests;
const items = [...excludedQuests.values()];
return items;
});
const obj3 = arg1(closure_2[13]);
const items2 = [closure_12];
const stateFromStoresObject = arg1(closure_2[13]).useStateFromStoresObject(items2, () => ({ isFetchingCurrentQuests: closure_12.isFetchingCurrentQuests, lastFetchedCurrentQuests: closure_12.lastFetchedCurrentQuests }));
const isFetchingCurrentQuests = stateFromStoresObject.isFetchingCurrentQuests;
closure_3 = isFetchingCurrentQuests;
const lastFetchedCurrentQuests = stateFromStoresObject.lastFetchedCurrentQuests;
callback3 = lastFetchedCurrentQuests;
const obj4 = arg1(closure_2[13]);
const isEligibleForQuests = arg1(closure_2[14]).getIsEligibleForQuests();
React = isEligibleForQuests;
const items3 = [obj.fetchPolicy, isEligibleForQuests, hasFetched, isFetchingCurrentQuests, lastFetchedCurrentQuests, obj.callerSource];
const effect = React.useEffect(() => {
const fetchPolicy = obj.fetchPolicy;
if ("cache-only" !== fetchPolicy) {
if ("cache-or-network" === fetchPolicy) {
let flag = 0 === lastFetchedCurrentQuests;
} else {
flag = true;
if ("cache-and-network" !== fetchPolicy) {
const fetchPolicy2 = obj.fetchPolicy;
}
}
if (flag) {
if (isEligibleForQuests) {
if (!hasFetched) {
if (!isFetchingCurrentQuests) {
callback(true);
let obj = obj(callback[15]);
const currentQuests = obj.fetchCurrentQuests();
if (obj2.isMac()) {
const obj3 = hasFetched(callback[17]);
}
const obj2 = obj(callback[16]);
obj = { location: "QuestHookUseQuests" };
if (!obj4.getConfig(obj).enableNewRequestBehavior) {
const _HermesInternal = HermesInternal;
const questToDeliver = obj(callback[15]).fetchQuestToDeliver(obj(callback[19]).AdPlacement.MOBILE_HOME_DOCK_AREA, "use_quests_" + obj.callerSource);
const obj6 = obj(callback[15]);
}
const obj4 = hasFetched(callback[18]);
}
}
}
}
}
}, items3);
return { quests, excludedQuests, isFetchingCurrentQuests, hasFetched };
}
function defaultSortFn(id, id2, questHomeHero) {
let tmp = id.id === closure_20;
let tmp2 = id2.id === closure_20;
if (tmp) {
const userStatus = id.userStatus;
let completedAt;
if (null != userStatus) {
completedAt = userStatus.completedAt;
}
tmp = null == completedAt;
}
if (tmp2) {
const userStatus2 = id2.userStatus;
let completedAt1;
if (null != userStatus2) {
completedAt1 = userStatus2.completedAt;
}
tmp2 = null == completedAt1;
}
if (tmp !== tmp2) {
let num15 = 1;
if (tmp) {
num15 = closure_27;
}
return num15;
} else {
const userStatus6 = id.userStatus;
let claimedAt;
const obj7 = id2(dependencyMap[20]);
if (null != userStatus6) {
claimedAt = userStatus6.claimedAt;
}
const userStatus3 = id2.userStatus;
let claimedAt1;
if (null != userStatus3) {
claimedAt1 = userStatus3.claimedAt;
}
const userStatus4 = id.userStatus;
let enrolledAt;
if (null != userStatus4) {
enrolledAt = userStatus4.enrolledAt;
}
const userStatus5 = id2.userStatus;
let enrolledAt1;
if (null != userStatus5) {
enrolledAt1 = userStatus5.enrolledAt;
}
const result = 30 * importDefault(dependencyMap[21]).Millis.MINUTE;
const tmp19 = hasEnrolledTimeLapsed(id, result);
const tmp20 = hasEnrolledTimeLapsed(id2, result);
if (tmp45) {
questHomeHero = questHomeHero.questHomeHero;
if (null != questHomeHero) {
if (!questHomeHero.isQuestHomeHeroShelfEnabled) {
const result1 = id2(dependencyMap[22]).isQuestFeaturedByHero(questHomeHero, id.id);
const obj = id2(dependencyMap[22]);
let num6 = 1;
if (result1) {
num6 = closure_27;
}
return num6;
}
}
const questType = id2(dependencyMap[22]).getQuestType(id.config);
const obj3 = id2(dependencyMap[22]);
const questType1 = id2(dependencyMap[22]).getQuestType(id2.config);
const obj4 = id2(dependencyMap[22]);
const result2 = id2(dependencyMap[23]).hasWatchVideoOnMobileTasks(id);
const obj5 = id2(dependencyMap[23]);
const result3 = id2(dependencyMap[23]).hasWatchVideoOnMobileTasks(id2);
if (result2 !== result3) {
if (!result2) {
return num10;
}
let num14 = 1;
if (result2) {
num14 = closure_27;
}
let num10 = num14;
}
if (questType !== questType1) {
num10 = 1;
if (questType === id2(dependencyMap[24]).QuestType.VIDEO) {
num10 = closure_27;
}
}
if (tmp19 === tmp20) {
if (tmp8 !== tmp10) {
let num12 = 1;
if (!tmp8) {
num12 = closure_27;
}
let tmp41 = num12;
} else if (tmp12 !== tmp14) {
let num11 = 1;
if (tmp12) {
num11 = closure_27;
}
tmp41 = num11;
} else {
tmp41 = sortByDate(id.config.expiresAt, id2.config.expiresAt, constants7.ASC);
}
}
let num13 = 1;
if (!tmp19) {
num13 = closure_27;
}
tmp41 = num13;
const obj6 = id2(dependencyMap[23]);
} else {
if (tmp8 !== tmp10) {
let num4 = 1;
if (tmp8) {
num4 = closure_27;
}
let tmp23 = num4;
} else if (tmp12 !== tmp14) {
let num3 = 1;
if (tmp12) {
num3 = closure_27;
}
tmp23 = num3;
} else {
tmp23 = sortByDate(id.config.expiresAt, id2.config.expiresAt, constants7.DESC);
}
return tmp23;
}
const tmp45 = !id2(dependencyMap[20]).isQuestExpired(id);
}
}
function recentSortFn(config, config2) {
return sortByDate(config.config.startsAt, config2.config.startsAt, constants7.DESC);
}
function recentlyEnrolledSortFn(userStatus, userStatus2) {
userStatus = userStatus.userStatus;
let enrolledAt;
if (null != userStatus) {
enrolledAt = userStatus.enrolledAt;
}
userStatus2 = userStatus2.userStatus;
if (null != userStatus2) {
enrolledAt = userStatus2.enrolledAt;
}
if (null == enrolledAt) {
if (null == enrolledAt) {
let num = sortByDate(userStatus.config.expiresAt, userStatus2.config.expiresAt, constants7.DESC);
}
return num;
}
if (null != enrolledAt) {
if (null == enrolledAt) {
num = closure_27;
}
}
if (null != enrolledAt) {
num = sortByDate(enrolledAt, enrolledAt, constants7.DESC);
} else {
num = 1;
}
}
function expiringSoonSortFn(config, config2) {
return sortByDate(config.config.expiresAt, config2.config.expiresAt, constants7.ASC);
}
function doesQuestPassTaskFilter(quest) {
if (constants4.VIDEO === arg1) {
return arg1(dependencyMap[23]).hasWatchVideoTasks(quest);
} else if (constants4.PLAY === arg1) {
let obj = arg1(dependencyMap[23]);
obj = { quest };
let hasPlayOnDesktopTaskResult = obj.hasPlayOnDesktopTask(obj);
if (!hasPlayOnDesktopTaskResult) {
obj = { quest };
hasPlayOnDesktopTaskResult = arg1(dependencyMap[23]).hasStreamOnDesktopTask(obj);
const obj3 = arg1(dependencyMap[23]);
}
if (!hasPlayOnDesktopTaskResult) {
hasPlayOnDesktopTaskResult = arg1(dependencyMap[23]).hasPlayActivityTask(quest);
const obj5 = arg1(dependencyMap[23]);
}
if (!hasPlayOnDesktopTaskResult) {
hasPlayOnDesktopTaskResult = arg1(dependencyMap[23]).isConsoleQuest(quest);
const obj6 = arg1(dependencyMap[23]);
}
if (!hasPlayOnDesktopTaskResult) {
hasPlayOnDesktopTaskResult = arg1(dependencyMap[23]).isInGameQuest(quest);
const obj7 = arg1(dependencyMap[23]);
}
return hasPlayOnDesktopTaskResult;
} else {
return false;
}
}
function doesQuestPassRewardFilter(config) {
if (constants5.VIRTUAL_CURRENCY === arg1) {
return arg1(dependencyMap[25]).hasVirtualCurrencyReward(config.config);
} else if (constants5.COLLECTIBLE === arg1) {
return arg1(dependencyMap[25]).hasCollectiblesQuestReward(config.config);
} else if (constants5.IN_GAME === arg1) {
let hasInGameQuestRewardResult = arg1(dependencyMap[25]).hasInGameQuestReward(config.config);
if (!hasInGameQuestRewardResult) {
hasInGameQuestRewardResult = arg1(dependencyMap[25]).hasQuestRewardCode(config.config);
const obj2 = arg1(dependencyMap[25]);
}
return hasInGameQuestRewardResult;
} else {
return false;
}
}
function doesQuestPassFilter(arg0, arg1, arr) {
arg1 = arg0;
if ("task" === arg1) {
let tmp = doesQuestPassTaskFilter;
} else if ("reward" === arg1) {
tmp = doesQuestPassRewardFilter;
}
const importDefault = tmp;
return 0 === arr.length || arr.some((arg0) => tmp(arg0, arg0.filter));
}
function sortQuests(arr) {
let filters;
let sortMethod;
let tmp = arg1;
let tmp2 = arg2;
if (arg1 === undefined) {
tmp = closure_28;
}
if (tmp2 === undefined) {
tmp2 = closure_29;
}
({ sortMethod, filters } = tmp);
let obj = arr;
if (null != filters) {
obj = arr;
if (0 !== filters.length) {
obj = function filterQuests(arr, filters) {
if (0 === filters.length) {
return arr;
} else {
const callback = callback(closure_2[26]).groupBy(filters, "group");
return arr.filter((arg0) => {
let closure_0 = arg0;
const entries = Object.entries(closure_0);
return entries.every((arg0) => {
let tmp;
let tmp2;
[tmp, tmp2] = arg0;
return callback(arg0, tmp, tmp2);
});
});
}
}(arr, filters);
}
}
if (constants3.MOST_RECENT === sortMethod) {
let tmp6 = recentSortFn;
} else if (constants3.RECENTLY_ENROLLED === sortMethod) {
tmp6 = recentlyEnrolledSortFn;
} else if (constants3.EXPIRING_SOON === sortMethod) {
tmp6 = expiringSoonSortFn;
} else {
const SUGGESTED = constants3.SUGGESTED;
tmp6 = defaultSortFn;
}
return obj.sort(function prioritizeLiveQuests(arg0, arg1) {
return (value, value) => {
const tmp = !value(closure_2[20]).isQuestExpired(value);
const obj = value(closure_2[20]);
if (tmp !== !obj2.isQuestExpired(value)) {
let num = 1;
if (tmp) {
num = closure_27;
}
let tmp4 = num;
} else {
tmp4 = value(value, value, value);
}
return tmp4;
};
}(tmp6, tmp2));
}
function sortByDate(expiresAt, expiresAt2, DESC) {
let num = 1;
if (DESC === constants7.DESC) {
num = closure_27;
}
return expiresAt.localeCompare(expiresAt2) * num;
}
function useAllQuests(quests, sortMethod) {
sortMethod = quests;
const importDefault = sortMethod;
const tmp = function useSortMetadata() {
const shouldRemoveQuestHomeHero = arg0(tmp[27]).useShouldRemoveQuestHomeHero();
const obj = arg0(tmp[27]);
const items = [closure_12];
const items1 = [shouldRemoveQuestHomeHero];
const stateFromStores = arg0(tmp[13]).useStateFromStores(items, () => null, items1);
const arg0 = stateFromStores;
const isShelfEnabled = callback2(stateFromStores).isShelfEnabled;
const arg1 = isShelfEnabled;
const items2 = [stateFromStores, isShelfEnabled];
return React.useMemo(() => ({ questHomeHero: stateFromStores, isQuestHomeHeroShelfEnabled: isShelfEnabled }), items2);
}();
const dependencyMap = tmp;
let closure_3 = React.useRef([]);
let closure_4 = React.useRef(sortMethod.sortMethod);
const React = React.useRef(sortMethod.filters);
let closure_6 = React.useRef(0);
let closure_7 = React.useRef(tmp);
const items = [quests, sortMethod, tmp];
return React.useMemo((arg0, self) => {
if (0 === arg0.length) {
return [];
} else {
if (ref.current.length > 0) {
if (ref3.current === arg0.length) {
if (ref2.current === self.sortMethod) {
if (React.current === self.filters) {
if (ref4.current === tmp) {
return ref.current;
}
}
}
}
}
const mapped = callback(arg0, self, tmp).map((id) => id.id);
ref.current = mapped;
ref2.current = self.sortMethod;
React.current = self.filters;
ref3.current = arg0.length;
ref4.current = tmp;
return mapped;
}
}, items);
}
function isQuestHiddenFromQuestHome(userStatus) {
let isQuestExpiredResult = arg1(dependencyMap[20]).isQuestExpired(userStatus);
if (isQuestExpiredResult) {
isQuestExpiredResult = !arg1(dependencyMap[20]).hasUnclaimedReward(userStatus.userStatus);
const obj2 = arg1(dependencyMap[20]);
}
return isQuestExpiredResult;
}
function useIsQuestExpired(memo) {
const arg1 = memo;
const items = [closure_12];
const items1 = [memo];
return arg1(dependencyMap[13]).useStateFromStores(items, () => {
let isQuestExpiredResult = null != arg0;
if (isQuestExpiredResult) {
isQuestExpiredResult = questExpired.isQuestExpired(arg0.id);
}
return isQuestExpiredResult;
}, items1);
}
function useIsQuestProgressingOnDesktop(quest) {
const arg1 = quest;
const items = [closure_12];
return arg1(dependencyMap[13]).useStateFromStores(items, () => progressingOnDesktop.isProgressingOnDesktop(arg0.id));
}
function useIsQuestProgressingOnConsole(quest) {
const arg1 = quest;
const items = [quest];
return React.useMemo(() => arg0(closure_2[23]).isQuestProgressingOnConsole(arg0), items);
}
function useIsQuestProgressingVideoQuest(quest) {
const arg1 = quest;
const items = [closure_12];
const items1 = [quest, arg1(dependencyMap[13]).useStateFromStores(items, () => optimisticProgress.getOptimisticProgress(arg0.id, arg0(closure_2[32]).FirstPartyQuestTaskTypes.WATCH_VIDEO))];
return React.useMemo(() => arg0(closure_2[33]).isVideoQuestProgressing(arg0), items1);
}
function useIsQuestProgressing(quest) {
let tmp = useIsQuestProgressingOnDesktop(quest);
const tmp2 = useIsQuestProgressingOnConsole(quest);
if (!tmp) {
tmp = tmp2;
}
if (!tmp) {
tmp = tmp3;
}
return tmp;
}
function useThirdPartyTaskDetails(quest) {
const arg1 = quest;
const items = [quest];
return React.useMemo(() => arg0(closure_2[23]).getThirdPartyTaskDetails(arg0), items);
}
function useGetOrFetchApplicationForConsoleQuests(arg0) {
const arg1 = arg0;
const items = [arg0];
const memo = React.useMemo(() => {
let iter2;
const set = new Set();
const tmp = callback(arg0);
let iter = tmp();
if (!iter.done) {
do {
let tmp2 = closure_0;
let tmp3 = closure_2;
let obj2 = closure_0(closure_2[23]);
let consoleApplicationId = obj2.getConsoleApplicationId(iter.value);
if (null != consoleApplicationId) {
let addResult = set.add(consoleApplicationId);
}
iter2 = tmp();
iter = iter2;
} while (!iter2.done);
}
return Array.from(set);
}, items);
return importDefault(dependencyMap[35])(memo);
}
function useConnectedAccounts() {
let obj = arg1(dependencyMap[13]);
const items = [closure_8];
const stateFromStoresObject = obj.useStateFromStoresObject(items, () => ({ fetching: closure_8.isFetching(), accounts: closure_8.getAccounts() }));
const accounts = stateFromStoresObject.accounts;
const arg1 = accounts;
const items1 = [accounts];
const memo = React.useMemo(() => {
const found = accounts.filter((revoked) => false === revoked.revoked);
const found1 = found.filter((type) => type.type === constants.XBOX);
const found2 = found.filter((type) => type.type === constants.PLAYSTATION);
return { xboxAccounts: found1, playstationAccounts: found2, xboxAndPlaystationAccounts: found1.concat(found2) };
}, items1);
obj = { fetching: stateFromStoresObject.fetching, xboxAccounts: memo.xboxAccounts, playstationAccounts: memo.playstationAccounts, xboxAndPlaystationAccounts: memo.xboxAndPlaystationAccounts };
return obj;
}
function useWaitingForConsoleConnection(quest) {
quest = quest.quest;
const tmp = useIsQuestProgressing(quest);
const tmp2 = 0 === useConnectedAccounts().xboxAndPlaystationAccounts.length;
const obj = arg1(dependencyMap[23]);
return arg1(dependencyMap[23]).isConsoleQuest(quest) && tmp2 && !tmp;
}
function useSelectedTaskPlatform(id) {
const arg1 = id;
const items = [closure_12];
const items1 = [arg1(dependencyMap[13]).useStateFromStores(items, () => closure_12.selectedTaskPlatform(arg0)), ];
const items2 = [id];
items1[1] = React.useCallback((platform) => platform(closure_2[15]).selectTaskPlatform(platform, platform), items2);
return items1;
}
function useTaskPlatformScreen(quest, questTaskDetails) {
questTaskDetails = quest;
const importDefault = questTaskDetails;
const tmp = callback3(useSelectedTaskPlatform(quest.id), 2);
const first = tmp[0];
const dependencyMap = first;
const items = [quest];
const memo = React.useMemo(() => arg0(first[31]).supportedTaskPlatforms(arg0), items);
const hasItem = memo.includes(constants.DESKTOP);
let closure_3 = hasItem;
const hasItem1 = memo.includes(constants.CONSOLE);
const callback3 = hasItem1;
const items1 = [questTaskDetails];
const tmp5 = useIsQuestProgressingOnDesktop(quest);
const memo1 = React.useMemo(() => {
const match = arg0(first[43]).match(arg1);
const str = arg0(first[43]);
let obj = { taskType: arg0(first[32]).FirstPartyQuestTaskTypes.PLAY_ON_DESKTOP };
const withResult = match.with({ percentComplete: 0 }, () => null);
obj = { taskType: arg0(first[32]).FirstPartyQuestTaskTypes.PLAY_ACTIVITY };
const withResult1 = match.with({ percentComplete: 0 }, () => null).with(obj, () => constants.DESKTOP);
const withResult2 = match.with({ percentComplete: 0 }, () => null).with(obj, () => constants.DESKTOP).with(obj, () => constants.DESKTOP);
const obj1 = { taskType: arg0(first[32]).FirstPartyQuestTaskTypes.WATCH_VIDEO };
const withResult3 = withResult2.with({ taskType: arg0(first[32]).FirstPartyQuestTaskTypes.WATCH_VIDEO }, () => constants.DESKTOP);
const obj2 = { taskType: arg0(first[32]).FirstPartyQuestTaskTypes.WATCH_VIDEO_ON_MOBILE };
const withResult4 = withResult3.with({ taskType: arg0(first[32]).FirstPartyQuestTaskTypes.WATCH_VIDEO_ON_MOBILE }, () => constants.DESKTOP);
const obj3 = { taskType: arg0(first[32]).FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP };
const withResult5 = withResult4.with({ taskType: arg0(first[32]).FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP }, () => constants.DESKTOP);
const obj4 = { taskType: arg0(first[32]).FirstPartyQuestTaskTypes.PLAY_ON_XBOX };
const withResult6 = withResult5.with({ taskType: arg0(first[32]).FirstPartyQuestTaskTypes.PLAY_ON_XBOX }, () => constants.CONSOLE);
const obj5 = { taskType: arg0(first[32]).FirstPartyQuestTaskTypes.PLAY_ON_PLAYSTATION };
const withResult7 = withResult6.with({ taskType: arg0(first[32]).FirstPartyQuestTaskTypes.PLAY_ON_PLAYSTATION }, () => constants.CONSOLE);
const obj6 = { taskType: arg0(first[32]).FirstPartyQuestTaskTypes.ACHIEVEMENT_IN_GAME };
const withResult8 = withResult7.with({ taskType: arg0(first[32]).FirstPartyQuestTaskTypes.ACHIEVEMENT_IN_GAME }, () => constants.DESKTOP);
const obj7 = { taskType: arg0(first[32]).FirstPartyQuestTaskTypes.ACHIEVEMENT_IN_ACTIVITY };
return withResult8.with({ taskType: arg0(first[32]).FirstPartyQuestTaskTypes.ACHIEVEMENT_IN_ACTIVITY }, () => constants.DESKTOP).exhaustive();
}, items1);
const React = memo1;
if (tmp5) {
let DESKTOP = constants.DESKTOP;
} else {
DESKTOP = null;
if (tmp6) {
DESKTOP = constants.CONSOLE;
}
}
let closure_6 = DESKTOP;
const items2 = [hasItem1, hasItem, memo1, DESKTOP, first];
const items3 = [
React.useMemo(() => {
let obj = { lastPlatformProgress: memo1, currentProgressingPlatform: DESKTOP, selectedPlatform: first };
const match = arg0(first[43]).match(obj);
obj = { currentProgressingPlatform: constants.CONSOLE };
const str = arg0(first[43]);
obj = { currentProgressingPlatform: constants.DESKTOP };
const withResult = match.with(obj, () => callback(closure_2[19]).TaskPlatformScreen.CONSOLE);
const obj1 = { currentProgressingPlatform: null, lastPlatformProgress: constants.CONSOLE };
const withResult1 = match.with(obj, () => callback(closure_2[19]).TaskPlatformScreen.CONSOLE).with(obj, () => callback(closure_2[19]).TaskPlatformScreen.DESKTOP);
const obj2 = { currentProgressingPlatform: null, lastPlatformProgress: constants.DESKTOP };
const withResult2 = match.with(obj, () => callback(closure_2[19]).TaskPlatformScreen.CONSOLE).with(obj, () => callback(closure_2[19]).TaskPlatformScreen.DESKTOP).with({ currentProgressingPlatform: null, lastPlatformProgress: constants.CONSOLE }, () => callback(closure_2[19]).TaskPlatformScreen.CONSOLE);
const obj3 = { less: false, greater: false, selectedPlatform: constants.CONSOLE };
const withResult3 = match.with(obj, () => callback(closure_2[19]).TaskPlatformScreen.CONSOLE).with(obj, () => callback(closure_2[19]).TaskPlatformScreen.DESKTOP).with({ currentProgressingPlatform: null, lastPlatformProgress: constants.CONSOLE }, () => callback(closure_2[19]).TaskPlatformScreen.CONSOLE).with({ currentProgressingPlatform: null, lastPlatformProgress: constants.DESKTOP }, () => callback(closure_2[19]).TaskPlatformScreen.DESKTOP);
const obj4 = { less: false, greater: false, selectedPlatform: constants.DESKTOP };
const withResult4 = match.with(obj, () => callback(closure_2[19]).TaskPlatformScreen.CONSOLE).with(obj, () => callback(closure_2[19]).TaskPlatformScreen.DESKTOP).with({ currentProgressingPlatform: null, lastPlatformProgress: constants.CONSOLE }, () => callback(closure_2[19]).TaskPlatformScreen.CONSOLE).with({ currentProgressingPlatform: null, lastPlatformProgress: constants.DESKTOP }, () => callback(closure_2[19]).TaskPlatformScreen.DESKTOP).with(obj3, () => callback(closure_2[19]).TaskPlatformScreen.CONSOLE);
const withResult5 = match.with(obj, () => callback(closure_2[19]).TaskPlatformScreen.CONSOLE).with(obj, () => callback(closure_2[19]).TaskPlatformScreen.DESKTOP).with({ currentProgressingPlatform: null, lastPlatformProgress: constants.CONSOLE }, () => callback(closure_2[19]).TaskPlatformScreen.CONSOLE).with({ currentProgressingPlatform: null, lastPlatformProgress: constants.DESKTOP }, () => callback(closure_2[19]).TaskPlatformScreen.DESKTOP).with(obj3, () => callback(closure_2[19]).TaskPlatformScreen.CONSOLE).with(obj4, () => callback(closure_2[19]).TaskPlatformScreen.DESKTOP);
return match.with(obj, () => callback(closure_2[19]).TaskPlatformScreen.CONSOLE).with(obj, () => callback(closure_2[19]).TaskPlatformScreen.DESKTOP).with({ currentProgressingPlatform: null, lastPlatformProgress: constants.CONSOLE }, () => callback(closure_2[19]).TaskPlatformScreen.CONSOLE).with({ currentProgressingPlatform: null, lastPlatformProgress: constants.DESKTOP }, () => callback(closure_2[19]).TaskPlatformScreen.DESKTOP).with(obj3, () => callback(closure_2[19]).TaskPlatformScreen.CONSOLE).with(obj4, () => callback(closure_2[19]).TaskPlatformScreen.DESKTOP).with({ 0: "Normal", 0: true, 9223372036854775807: "AbortSignal" }, () => {
if (closure_4) {
if (closure_3) {
let SELECT = callback(closure_2[19]).TaskPlatformScreen.SELECT;
}
return SELECT;
}
const TaskPlatformScreen = callback(closure_2[19]).TaskPlatformScreen;
SELECT = closure_4 ? TaskPlatformScreen.CONSOLE : TaskPlatformScreen.DESKTOP;
}).exhaustive();
}, items2),
memo,
tmp[1]
];
return items3;
}
function useIsPreviewerOnAnyQuest() {
const items = [closure_12];
const stateFromStoresArray = arg1(dependencyMap[13]).useStateFromStoresArray(items, () => {
const quests = quests.quests;
const items = [...quests.values()];
return items;
});
return stateFromStoresArray.some((preview) => preview.preview);
}
function hasEnrolledTimeLapsed(userStatus, result) {
userStatus = userStatus.userStatus;
let completedAt;
if (null != userStatus) {
completedAt = userStatus.completedAt;
}
const userStatus2 = userStatus.userStatus;
let enrolledAt;
if (null != userStatus2) {
enrolledAt = userStatus2.enrolledAt;
}
let tmp4 = null != enrolledAt && null == completedAt;
if (tmp4) {
const _Date = Date;
let _Date2 = Date;
const userStatus3 = userStatus.userStatus;
let enrolledAt1;
const timestamp = Date.now();
if (null != userStatus3) {
enrolledAt1 = userStatus3.enrolledAt;
}
const prototype = _Date2.prototype;
_Date2 = new _Date2(enrolledAt1);
tmp4 = timestamp - _Date2.getTime() > result;
}
return tmp4;
}
function useQuestHomeHeroShelf(questIds) {
questIds = undefined;
const items = [closure_12];
const stateFromStores = arg1(dependencyMap[13]).useStateFromStores(items, () => quests.quests);
const arg1 = stateFromStores;
if (null != questIds) {
questIds = questIds.questIds;
}
const importDefault = questIds;
const items1 = [stateFromStores, questIds];
return React.useMemo(() => {
if (null == questIds) {
let obj = { shelfQuests: [], isShelfEnabled: false };
return obj;
} else {
const mapped = questIds.map((arg0) => lib.get(arg0));
const found = mapped.filter(stateFromStores(closure_2[51]).isNotNullish);
const found1 = found.filter((value) => !lib(closure_2[20]).isQuestExpired(value));
if (found1.length <= 1) {
obj = { shelfQuests: [], isShelfEnabled: false };
} else {
obj = { shelfQuests: found1, isShelfEnabled: true };
}
return obj;
}
}, items1);
}
let closure_3 = importDefault(dependencyMap[0]);
let closure_4 = importDefault(dependencyMap[1]);
let closure_5 = importAll(dependencyMap[2]);
let closure_6 = importDefault(dependencyMap[3]);
let closure_7 = importDefault(dependencyMap[4]);
let closure_8 = importDefault(dependencyMap[5]);
let closure_9 = importDefault(dependencyMap[6]);
let closure_10 = importDefault(dependencyMap[7]);
const useConsoleQuestUIStore = arg1(dependencyMap[8]).useConsoleQuestUIStore;
let closure_12 = importDefault(dependencyMap[9]);
({ QuestTaskPlatform: closure_13, QuestsExperimentLocations: closure_14, MEMBER_LIST_SOCIAL_ENTRY_POINT_ALLOWED_TASK_TYPES: closure_15, QuestHomeSortMethods: closure_16, SORTED_QUEST_HOME_FILTER_GROUPS: closure_17, TaskFilterTypes: closure_18, RewardFilterTypes: closure_19, MOBILE_ORBS_INTRO_QUEST_ID: closure_20, ORBS_INTRO_QUEST_ID: closure_21 } = arg1(dependencyMap[10]));
const tmp2 = arg1(dependencyMap[10]);
({ HelpdeskArticles: closure_22, PlatformTypes: closure_23, ThemeTypes: closure_24, AnalyticEvents: closure_25 } = arg1(dependencyMap[11]));
const PremiumTypes = arg1(dependencyMap[12]).PremiumTypes;
let closure_27 = -1;
let closure_28 = {};
let closure_29 = { "Null": "midnight", "Null": "noon" };
let closure_30 = { DESC: 0, [0]: "DESC", ASC: 1, [1]: "ASC" };
let obj = { ALL: "all", CLAIMED: "claimed", PREVIEW_TOOL: "preview_tool" };
function useQuestTaskDetails(quest) {
const arg1 = quest;
const items = [quest];
const callback = React.useCallback(() => arg0(closure_2[23]).getQuestTaskDetails(arg0), items);
const importDefault = callback;
const tmp2 = callback3(React.useState(callback()), 2);
let closure_2 = tmp2[1];
const items1 = [callback];
const callback1 = React.useCallback(() => callback(callback()), items1);
let closure_3 = callback1;
const tmp4 = useIsQuestProgressing(quest);
const callback3 = tmp4;
const items2 = [quest, tmp4, callback1];
const effect = React.useEffect(() => {
const userStatus = quest.userStatus;
let enrolledAt;
if (null != userStatus) {
enrolledAt = userStatus.enrolledAt;
}
if (null != enrolledAt) {
const userStatus2 = quest.userStatus;
let completedAt;
if (null != userStatus2) {
completedAt = userStatus2.completedAt;
}
if (null == completedAt) {
const userStatus3 = quest.userStatus;
let claimedAt;
if (null != userStatus3) {
claimedAt = userStatus3.claimedAt;
}
if (null == claimedAt) {
if (tmp4) {
const _window = window;
const quest = window.setInterval(() => {
callback();
}, callback(closure_2[21]).Millis.SECOND);
return () => {
clearInterval(closure_0);
callback();
};
}
}
}
}
callback1();
}, items2);
return tmp2[0];
}
obj = { UNACCEPTED: 0, [0]: "UNACCEPTED", ACCEPTED: 1, [1]: "ACCEPTED", IN_PROGRESS: 2, [2]: "IN_PROGRESS", COMPLETED: 3, [3]: "COMPLETED", CLAIMED: 4, [4]: "CLAIMED" };
let closure_34 = 6 * importDefault(dependencyMap[21]).Millis.HOUR;
const MINUTE = importDefault(dependencyMap[21]).Millis.MINUTE;
const tmp3 = arg1(dependencyMap[11]);
const result = arg1(dependencyMap[58]).fileFinishedImporting("modules/quests/hooks/QuestHooks.tsx");
export { useQuests };
export { sortQuests };
export const QuestTabs = obj;
export const QuestQueryParams = { TAB: "tab", QUEST_ID: "quest_id", SORT: "sort", FILTER: "filter", AD_CREATIVE_IDS: "ad_creative_ids" };
export const useFilteredQuests = function useFilteredQuests(ALL, importAllResult) {
let excludedQuests;
let hasFetched;
let isFetchingCurrentQuests;
let iter2;
let tmp = importAllResult;
if (importAllResult === undefined) {
tmp = closure_28;
}
const tmp2 = useQuests({});
let quests = tmp2.quests;
({ excludedQuests, isFetchingCurrentQuests, hasFetched } = tmp2);
const map = new Map(quests.map((id) => {
const items = [id.id, id];
return items;
}));
let tmp4 = function useCompletedAndClaimedQuests(quests) {
const items = [quests];
const memo = React.useMemo(() => arg0.filter((userStatus) => {
userStatus = userStatus.userStatus;
let completedAt;
if (null != userStatus) {
completedAt = userStatus.completedAt;
}
let tmp2 = null != completedAt;
const userStatus2 = userStatus.userStatus;
if (null != userStatus2) {
const claimedAt = userStatus2.claimedAt;
}
if (tmp2) {
tmp2 = null != claimedAt;
}
return tmp2;
}), items);
let closure_2 = React.useRef([]);
const items1 = [memo];
return React.useMemo(() => {
if (0 === memo.length) {
return [];
} else {
if (ref.current.length > 0) {
if (ref.current.length === memo.length) {
return ref.current;
}
}
const sorted = memo.sort((userStatus, userStatus2) => {
userStatus = userStatus.userStatus;
let claimedAt;
if (null != userStatus) {
claimedAt = userStatus.claimedAt;
}
userStatus2 = userStatus2.userStatus;
let claimedAt1;
if (null != userStatus2) {
claimedAt1 = userStatus2.claimedAt;
}
if (null == claimedAt !== (null == claimedAt1)) {
let num = 1;
if (tmp2) {
num = closure_27;
}
let tmp6 = num;
} else {
tmp6 = callback(userStatus.config.rewardsConfig.rewardsExpireAt, userStatus2.config.rewardsConfig.rewardsExpireAt, constants.DESC);
}
return tmp6;
});
const mapped = sorted.map((id) => id.id);
ref.current = mapped;
return mapped;
}
}, items1);
}(quests);
quests = [];
if (ALL === obj.ALL) {
tmp4 = tmp3;
}
const tmp5Result = _createForOfIteratorHelperLoose(tmp4);
let iter = tmp5Result();
if (!iter.done) {
do {
let value = map.get(iter.value);
let removeExpiredQuests = null != value;
if (removeExpiredQuests) {
let tmp8 = closure_31;
removeExpiredQuests = ALL === closure_31.ALL;
}
if (removeExpiredQuests) {
removeExpiredQuests = tmp.removeExpiredQuests;
}
if (removeExpiredQuests) {
let tmp9 = closure_49;
removeExpiredQuests = closure_49(value);
}
let tmp10 = null == value || removeExpiredQuests;
if (!tmp10) {
let arr = quests.push(value);
}
iter2 = tmp5Result();
iter = iter2;
} while (!iter2.done);
}
return { quests, excludedQuests, isFetchingCurrentQuests, hasFetched };
};
export const useClaimedQuests = function useClaimedQuests() {
const callback = React.useRef(false);
const items = [closure_12];
const claimedQuests = callback(dependencyMap[13]).useStateFromStoresArray(items, () => {
const claimedQuests = closure_12.claimedQuests;
return Array.from(claimedQuests.values());
});
const obj = callback(dependencyMap[13]);
const items1 = [closure_12];
const isFetchingClaimedQuests = callback(dependencyMap[13]).useStateFromStores(items1, () => closure_12.isFetchingClaimedQuests);
const importDefault = isFetchingClaimedQuests;
const items2 = [isFetchingClaimedQuests];
const effect = React.useEffect(() => {
let current = isFetchingClaimedQuests;
if (!isFetchingClaimedQuests) {
current = ref.current;
}
if (!current) {
ref.current = true;
const claimedQuests = ref(closure_2[15]).fetchClaimedQuests();
const obj = ref(closure_2[15]);
}
}, items2);
return { claimedQuests, isFetchingClaimedQuests };
};
export const useExpiredQuestsMap = function useExpiredQuestsMap() {
const items = [closure_12];
return arg1(dependencyMap[13]).useStateFromStores(items, () => expiredQuestsMap.getExpiredQuestsMap());
};
export const useShouldShowBonusOrbsUX = function useShouldShowBonusOrbsUX(quest, questOrbMultiplierEligibility) {
const tmp = useIsQuestExpired(quest);
const result = questOrbMultiplierEligibility(dependencyMap[25]).hasVirtualCurrencyReward(quest.config);
const obj = questOrbMultiplierEligibility(dependencyMap[25]);
const result1 = questOrbMultiplierEligibility(dependencyMap[25]).hasPremiumOrbQuantity(quest.config);
let tmp5 = !tmp;
const obj2 = questOrbMultiplierEligibility(dependencyMap[25]);
if (tmp5) {
tmp5 = result;
}
if (tmp5) {
tmp5 = result1;
}
if (tmp5) {
tmp5 = tmp4;
}
return tmp5;
};
export const useQuestOrbRewardMultiplier = function useQuestOrbRewardMultiplier(questId) {
const arg1 = questId;
const items = [closure_12];
const items1 = [questId];
return arg1(dependencyMap[13]).useStateFromStores(items, () => {
const quest = quest.getQuest(arg0);
let questOrbMultiplier = null;
if (null != quest) {
questOrbMultiplier = arg0(closure_2[25]).getQuestOrbMultiplier(quest.config);
const obj = arg0(closure_2[25]);
}
return questOrbMultiplier;
}, items1);
};
export { useIsQuestExpired };
export const useIsQuestEligibleForMembersListPopout = function useIsQuestEligibleForMembersListPopout(userStatus) {
const arg1 = userStatus;
const importDefault = arg1;
const items = [closure_7];
const stateFromStores = arg1(dependencyMap[13]).useStateFromStores(items, () => {
let channelId;
if (null != arg1) {
channelId = arg1.channelId;
}
const channel = channel.getChannel(channelId);
let tmp5 = null;
if (null != channel) {
tmp5 = channel;
}
return tmp5;
});
const obj = arg1(dependencyMap[13]);
const items1 = [closure_12];
const stateFromStores1 = arg1(dependencyMap[13]).useStateFromStores(items1, () => null != questExpired.questEnrollmentBlockedUntil, []);
const obj2 = arg1(dependencyMap[13]);
const items2 = [closure_9];
const stateFromStores2 = arg1(dependencyMap[13]).useStateFromStores(items2, () => {
const currentUser = currentUser.getCurrentUser();
let id;
if (null != currentUser) {
id = currentUser.id;
}
return id;
});
const obj3 = arg1(dependencyMap[13]);
const items3 = [closure_12];
const items4 = [userStatus];
if (null != userStatus) {
if (!stateFromStores1) {
if (!obj4.useStateFromStores(items3, () => {
let isQuestExpiredResult = null != arg0;
if (isQuestExpiredResult) {
isQuestExpiredResult = questExpired.isQuestExpired(arg0.id);
}
return isQuestExpiredResult;
}, items4)) {
if (stateFromStores2 !== arg2) {
userStatus = userStatus.userStatus;
let claimedAt;
if (null != userStatus) {
claimedAt = userStatus.claimedAt;
}
let tmp6 = null != claimedAt;
if (tmp6) {
tmp6 = !obj5.isStreamingAndCanWatch(arg1, stateFromStores);
}
return !tmp6;
}
}
}
}
return false;
};
export const useQuestFormattedDate = function useQuestFormattedDate(rewardsExpireAt, arg1) {
let tmp = arg1;
arg1 = rewardsExpireAt;
if (arg1 === undefined) {
const obj = { dateStyle: "short" };
tmp = obj;
}
const importDefault = tmp;
let dependencyMap;
const items = [closure_6];
const stateFromStores = arg1(dependencyMap[13]).useStateFromStores(items, () => locale.locale);
dependencyMap = stateFromStores;
const items1 = [rewardsExpireAt, tmp, stateFromStores];
return React.useMemo(() => {
let str = "";
if (null != arg0) {
const _Date = Date;
const date = new Date(arg0);
str = date.toLocaleDateString(stateFromStores, tmp);
}
return str;
}, items1);
};
export const useOnOpenGameClick = function useOnOpenGameClick(quest) {
quest = quest.quest;
const arg1 = quest;
const content = quest.content;
const importDefault = content;
const ctaContent = quest.ctaContent;
const dependencyMap = ctaContent;
const sourceQuestContent = quest.sourceQuestContent;
let closure_3 = sourceQuestContent;
const getQuestImpressionId = arg1(dependencyMap[29]).useGetQuestImpressionId();
let closure_4 = getQuestImpressionId;
const items = [quest, content, ctaContent, getQuestImpressionId, sourceQuestContent];
return React.useCallback(() => {
if (quest.id !== closure_21) {
let obj = { content, ctaContent, impressionId: getQuestImpressionId(), sourceQuestContent };
quest(ctaContent[31]).openGameLinkDirectly(quest, obj);
const obj2 = quest(ctaContent[31]);
} else {
const _window = window;
obj = content(ctaContent[30]);
window.open(obj.getArticleURL(constants.VIRTUAL_CURRENCY_LEARN_MORE));
}
}, items);
};
export { useIsQuestProgressingOnDesktop };
export { useIsQuestProgressingOnConsole };
export { useIsQuestProgressingVideoQuest };
export { useIsQuestProgressing };
export { useQuestTaskDetails };
export { useThirdPartyTaskDetails };
export const useConnectedConsoleLinkOnClick = function useConnectedConsoleLinkOnClick(quest) {
quest = quest.quest;
const arg1 = quest;
({ questContent: closure_1, sourceQuestContent: closure_2 } = quest);
let closure_3 = useWaitingForConsoleConnection({ quest });
let closure_4 = arg1(dependencyMap[29]).useGetQuestImpressionId();
return () => {
let obj = quest(closure_2[31]);
if (closure_3) {
obj = { quest };
obj = { content: closure_1, ctaContent: tmp(tmp2[34]).QuestContentCTA.CONNECT_CONSOLE_LINK, impressionId: callback(), sourceQuestContent: closure_2 };
const result = obj.openAddConsoleConnectionModal(obj, obj);
} else {
const obj1 = { quest };
const obj2 = { content: closure_1, ctaContent: tmp(tmp2[34]).QuestContentCTA.VIEW_CONSOLE_CONNECTIONS_LINK, impressionId: callback(), sourceQuestContent: closure_2 };
const result1 = obj.openConsoleConnectionSettings(obj1, obj2);
}
};
};
export { useGetOrFetchApplicationForConsoleQuests };
export const useQuestForMemberListSocialEntryPoint = function useQuestForMemberListSocialEntryPoint(arg0) {
const arg1 = arg0;
const items = [closure_12];
const stateFromStores = arg1(dependencyMap[13]).useStateFromStores(items, () => quests.quests);
const importDefault = stateFromStores;
const items1 = [arg0, stateFromStores, useGetOrFetchApplicationForConsoleQuests(Array.from(stateFromStores.values()))];
const memo = React.useMemo(() => {
const result = arg0(closure_2[22]).filterQuestsForSocialEntrypoints(stateFromStores, closure_15);
const obj = arg0(closure_2[22]);
return arg0(closure_2[36]).getQuestsFromActivities(result, arg0);
}, items1);
let tmp2 = null;
if (!useIsQuestExpired(memo)) {
tmp2 = memo;
}
return tmp2;
};
export const useQuestCollectibles = function useQuestCollectibles(config) {
let obj = arg1(dependencyMap[25]);
const result = obj.hasCollectiblesQuestReward(config);
const defaultReward = arg1(dependencyMap[37]).getDefaultReward(config);
const obj2 = arg1(dependencyMap[37]);
const fetchCollectiblesProduct = arg1(dependencyMap[38]).useFetchCollectiblesProduct(defaultReward.skuId);
const product = fetchCollectiblesProduct.product;
obj = { hasQuestCollectibles: result };
let first;
if (null != product) {
const items = product.items;
if (null != items) {
first = items[0];
}
}
obj.avatarDecoration = first;
obj.isFetching = fetchCollectiblesProduct.isFetching;
return obj;
};
export const useQuestPreviewActions = function useQuestPreviewActions(id) {
const arg1 = id;
const items = [id];
return React.useMemo(() => ({
handleComplete() {
return callback(closure_2[15]).completeQuestPreview(callback);
},
handleProgress(random) {
return callback(closure_2[15]).completeQuestPreview(callback, random);
},
handleResetStatusClick() {
return callback(closure_2[15]).resetQuestPreviewStatus(callback);
},
handleResetDismissibilityClick() {
return callback(closure_2[15]).resetQuestDismissibilityStatus(callback);
},
handleOverridePreviewClick(placement) {
return callback(closure_2[15]).overrideQuestForPlacement(placement, callback);
},
handleResetHasBeenSeenClick() {
const items = [callback];
return callback(closure_2[15]).markAdContentUnseen(callback(closure_2[39]).AdCreativeType.QUEST, items);
}
}), items);
};
export { useConnectedAccounts };
export const useManuallyStartConsoleQuest = function useManuallyStartConsoleQuest(questId) {
questId = questId.questId;
const arg1 = questId;
const preview = questId.preview;
const importDefault = preview;
const beforeRequest = questId.beforeRequest;
const dependencyMap = beforeRequest;
const afterRequest = questId.afterRequest;
const callback2 = afterRequest;
const tmp2 = callback3(React.useState(false), 2);
const first = tmp2[0];
const callback3 = first;
const React = tmp2[1];
let obj = arg1(dependencyMap[13]);
const items = [closure_8];
const stateFromStores = obj.useStateFromStores(items, () => accounts.getAccounts());
const tmp5 = useConsoleQuestUIStore((clearErrorHintsByType) => clearErrorHintsByType.clearErrorHintsByType);
let closure_6 = tmp5;
const items1 = [questId];
const callback = React.useCallback((arg0) => {
const state = state.getState();
return state.setErrorHints(questId, arg0);
}, items1);
let closure_7 = callback;
const items2 = [stateFromStores, tmp5, questId];
const effect = React.useEffect(() => {
tmp5(questId, questId(beforeRequest[40]).QuestConsoleStartError.EXPIRED_CREDENTIAL);
}, items2);
obj = { startConsoleQuest: React.useCallback(callback2(tmp), items3), startingConsoleQuest: first };
// CreateGeneratorClosureLongIndex (0x67)
const items3 = [first, beforeRequest, afterRequest, preview, questId, callback];
return obj;
};
export { useWaitingForConsoleConnection };
export const useQuestHowToHelpArticle = function useQuestHowToHelpArticle() {
const tmp = useConnectedAccounts();
let obj = importDefault(dependencyMap[30]);
const articleURL = obj.getArticleURL(constants6.QUEST_HOW_TO_PLAYSTATION);
const articleURL1 = importDefault(dependencyMap[30]).getArticleURL(constants6.QUEST_HOW_TO_XBOX);
const intl = arg1(dependencyMap[41]).intl;
const formatResult = intl.format(arg1(dependencyMap[41]).t.beN4DG, { psHelpdeskArticle: articleURL, xboxHelpdeskArticle: articleURL1 });
const intl2 = arg1(dependencyMap[41]).intl;
obj = {};
let tmp7 = articleURL1;
if (tmp.playstationAccounts.length > 0) {
tmp7 = articleURL;
}
obj.helpdeskArticle = tmp7;
obj = {};
const obj2 = importDefault(dependencyMap[30]);
if (tmp.xboxAccounts.length <= 0) {
let tmp9 = formatResult;
if (!tmp2) {
tmp9 = formatResult;
}
obj.message = tmp9;
obj.xboxURL = articleURL1;
obj.playstationURL = articleURL;
return obj;
}
tmp9 = intl2.format(arg1(dependencyMap[41]).t.HVS7nh, obj);
};
export const QuestProgressState = obj;
export const useProgressState = function useProgressState(quest) {
const userStatus = quest.userStatus;
let enrolledAt;
if (null != userStatus) {
enrolledAt = userStatus.enrolledAt;
}
const userStatus2 = quest.userStatus;
let completedAt;
if (null != userStatus2) {
completedAt = userStatus2.completedAt;
}
const userStatus3 = quest.userStatus;
let claimedAt;
if (null != userStatus3) {
claimedAt = userStatus3.claimedAt;
}
if (tmp6) {
let IN_PROGRESS = obj.CLAIMED;
} else if (tmp4) {
IN_PROGRESS = obj.COMPLETED;
} else {
if (tmp7) {
if (tmp2) {
IN_PROGRESS = obj.IN_PROGRESS;
}
}
IN_PROGRESS = tmp2 ? tmp8.ACCEPTED : tmp8.UNACCEPTED;
}
return IN_PROGRESS;
};
export const useQuestCompletionDetails = function useQuestCompletionDetails(quest) {
let flag = arg1;
if (arg1 === undefined) {
flag = false;
}
let obj = arg1(dependencyMap[13]);
const items = [closure_6];
const stateFromStores = obj.useStateFromStores(items, () => locale.locale);
let percentComplete = useQuestTaskDetails(quest).percentComplete;
const tmp2 = useThirdPartyTaskDetails(quest);
if (null != tmp2) {
percentComplete = tmp2.percentComplete;
}
obj = { completedRatio: percentComplete, percentComplete: 100 * percentComplete };
if (null != tmp2) {
if (!flag) {
let progress;
if (null != tmp2) {
progress = tmp2.progress;
}
let target;
if (null != tmp2) {
target = tmp2.target;
}
const _HermesInternal = HermesInternal;
let combined = "" + progress + "/" + target;
}
obj.completedRatioDisplay = combined;
return obj;
}
combined = arg1(dependencyMap[42]).formatPercent(stateFromStores, percentComplete, { roundingMode: "floor" });
};
export { useSelectedTaskPlatform };
export { useTaskPlatformScreen };
export const useQuestWarningTips = function useQuestWarningTips(userStatus) {
const tmp2 = useQuestTaskDetails(userStatus);
userStatus = userStatus.userStatus;
let enrolledAt;
const tmp = useThirdPartyTaskDetails(userStatus);
if (null != userStatus) {
enrolledAt = userStatus.enrolledAt;
}
let tmp5 = null != enrolledAt;
const userStatus2 = userStatus.userStatus;
let completedAt;
if (null != userStatus2) {
completedAt = userStatus2.completedAt;
}
const DESKTOP = arg1(dependencyMap[32]).FirstPartyQuestTaskTypesSets.DESKTOP;
let tmp8 = DESKTOP.has(tmp2.taskType) && tmp2.percentComplete > 0;
let tmp9 = 0 === tmp2.percentComplete;
if (tmp5) {
tmp5 = !tmp7;
}
if (tmp5) {
tmp5 = !tmp3;
}
if (tmp5) {
tmp5 = null == tmp;
}
if (tmp5) {
if (!tmp8) {
if (tmp9) {
tmp9 = callback3(useTaskPlatformScreen(userStatus, tmp2), 1)[0] === arg1(dependencyMap[19]).TaskPlatformScreen.DESKTOP;
}
tmp8 = tmp9;
}
tmp5 = tmp8;
}
const tmp3 = useIsQuestExpired(userStatus);
const tmp7 = null != completedAt;
let tmp12 = arg1(dependencyMap[16]).isWeb() && tmp5;
if (tmp12) {
tmp12 = !arg1(dependencyMap[31]).isQuestSupportedOnWeb(userStatus);
const obj2 = arg1(dependencyMap[31]);
}
const items = [];
const obj = arg1(dependencyMap[16]);
let isMacResult = arg1(dependencyMap[16]).isMac();
if (isMacResult) {
isMacResult = tmp2.taskType === arg1(dependencyMap[32]).FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP;
}
if (isMacResult) {
isMacResult = tmp5;
}
if (isMacResult) {
const intl = arg1(dependencyMap[41]).intl;
items.push(intl.string(arg1(dependencyMap[41]).t.MFGxFM));
}
if (tmp12) {
const intl2 = arg1(dependencyMap[41]).intl;
items.push(intl2.string(arg1(dependencyMap[41]).t.BV6xDm));
}
return items;
};
export const useQuest = function useQuest(arg0) {
const items = [closure_12];
const stateFromStores = arg1(dependencyMap[13]).useStateFromStores(items, () => quests.quests);
const value = stateFromStores.get(arg0);
let tmp2 = null;
if (null != value) {
tmp2 = value;
}
return tmp2;
};
export const useNonNullableQuest = function useNonNullableQuest(questId, callback) {
callback = questId;
const importDefault = callback;
const items = [closure_12];
const items1 = [questId];
const stateFromStores = callback(dependencyMap[13]).useStateFromStores(items, () => quest.getQuest(arg0), items1);
let tmp2 = null;
if (null != stateFromStores) {
tmp2 = stateFromStores;
}
const dependencyMap = tmp2;
const items2 = [tmp2, questId, callback];
const effect = React.useEffect(() => {
if (null == tmp2) {
const quests = quest.quests;
const items = [];
HermesBuiltin.arraySpread(quests.keys(), 0);
let obj = arg0(tmp2[20]);
const _Error = Error;
const _HermesInternal = HermesInternal;
const error = new Error("Quest unexpectedly missing from store: " + arg0);
obj = {};
obj = { source: "useNonNullableQuest" };
obj.tags = obj;
const obj1 = { questId: arg0, storeQuestIds: items, storeSize: items.length, isFetchingCurrentQuests: quest.isFetchingCurrentQuests, lastFetchedCurrentQuests: quest.lastFetchedCurrentQuests };
obj.extra = obj1;
const result = obj.captureQuestsException(error, obj);
if (null != arg1) {
const tmp2 = arg1();
}
}
}, items2);
return tmp2;
};
export const useQuestBarOrDockModeChangeTracking = function useQuestBarOrDockModeChangeTracking(mode) {
mode = mode.mode;
const arg1 = mode;
const questContent = mode.questContent;
const importDefault = questContent;
const sourceQuestContent = mode.sourceQuestContent;
const dependencyMap = sourceQuestContent;
const questId = mode.questId;
let closure_3 = questId;
let closure_4 = React.useRef(null);
const items = [questId, questContent, mode, sourceQuestContent];
const effect = React.useEffect(() => {
let tmp = null != questId;
if (tmp) {
tmp = ref.current !== mode;
}
if (tmp) {
let obj = mode(sourceQuestContent[44]);
obj = { mode, prevMode: ref.current, questContent, questId, sourceQuestContent };
const result = obj.trackQuestBarOrDockModeChange(obj);
ref.current = mode;
}
}, items);
const items1 = [questId, questContent, sourceQuestContent];
const effect1 = React.useEffect(() => null != questId ? () => {
let obj = callback(closure_2[44]);
obj = { mode: null, prevMode: ref.current, questContent: closure_1, questId: closure_3, sourceQuestContent: closure_2 };
const result = obj.trackQuestBarOrDockModeChange(obj);
} : undefined, items1);
};
export const useCosponsoredLogotypeAsset = function useCosponsoredLogotypeAsset(arg0, arg1) {
arg1 = arg0;
const importDefault = arg1;
const items = [closure_12];
const items1 = [arg0];
const stateFromStores = arg1(dependencyMap[13]).useStateFromStores(items, () => quest.getQuest(arg0), items1);
const dependencyMap = stateFromStores;
const tmp2 = importDefault(dependencyMap[45])();
let closure_3 = tmp2;
const items2 = [tmp2, arg1, stateFromStores];
return React.useMemo(() => {
if (null == stateFromStores) {
return null;
} else {
if (null != arg1) {
let tmp5 = arg1;
} else {
tmp5 = arg0(stateFromStores[46]).isThemeDark(tmp2) ? tmp4.DARK : tmp4.LIGHT;
const obj = arg0(stateFromStores[46]);
}
return arg0(stateFromStores[47]).getQuestAsset(stateFromStores, arg0(stateFromStores[47]).QuestAssetType.COSPONSOR_LOGO_TYPE, tmp5);
}
}, items2);
};
export const useClaimedCollectibleRewardMessage = function useClaimedCollectibleRewardMessage(config) {
let obj = arg1(dependencyMap[13]);
const items = [closure_9];
const stateFromStores = obj.useStateFromStores(items, () => currentUser.getCurrentUser());
let obj1 = arg1(dependencyMap[25]);
const defaultRewardName = obj1.getDefaultRewardName(config, stateFromStores);
let obj2 = arg1(dependencyMap[25]);
const collectibleQuestRewardDuration = obj2.getCollectibleQuestRewardDuration(config);
let obj3 = arg1(dependencyMap[25]);
const collectibleQuestRewardExtendableExpirationDate = obj3.getCollectibleQuestRewardExtendableExpirationDate(config);
let obj4 = arg1(dependencyMap[25]);
const result = obj4.isCollectibleQuestRewardPermanentWithPremiumSubscription(config);
const result1 = arg1(dependencyMap[25]).isCollectibleQuestRewardPremiumExtendable(config);
const obj6 = arg1(dependencyMap[25]);
const isPremiumResult = arg1(dependencyMap[48]).isPremium(stateFromStores, PremiumTypes.TIER_2);
if (null == collectibleQuestRewardDuration) {
const intl2 = arg1(dependencyMap[41]).intl;
obj = { decorationName: defaultRewardName };
return intl2.formatToPlainString(arg1(dependencyMap[41]).t.l9uXL8, obj);
} else {
const intl3 = arg1(dependencyMap[41]).intl;
obj = { rewardName: defaultRewardName };
const intl4 = arg1(dependencyMap[41]).intl;
obj1 = { rewardName: defaultRewardName, expirationDate: collectibleQuestRewardExtendableExpirationDate };
const formatToPlainStringResult = intl3.formatToPlainString(arg1(dependencyMap[41]).t.o97tNn, obj);
const intl5 = arg1(dependencyMap[41]).intl;
obj2 = { rewardName: defaultRewardName, duration: collectibleQuestRewardDuration };
let formatToPlainStringResult2 = intl5.formatToPlainString(arg1(dependencyMap[41]).t.ie4YK0, obj2);
const intl6 = arg1(dependencyMap[41]).intl;
obj3 = { duration: collectibleQuestRewardDuration, rewardName: defaultRewardName };
let formatToPlainStringResult3 = intl6.formatToPlainString(arg1(dependencyMap[41]).t.yCpc0U, obj3);
if (result1) {
if (result) {
if (isPremiumResult) {
formatToPlainStringResult2 = formatToPlainStringResult;
}
formatToPlainStringResult3 = formatToPlainStringResult2;
} else if (isPremiumResult) {
formatToPlainStringResult3 = formatToPlainStringResult1;
}
} else {
const intl = arg1(dependencyMap[41]).intl;
obj4 = { duration: collectibleQuestRewardDuration, decorationName: defaultRewardName };
return intl.formatToPlainString(arg1(dependencyMap[41]).t.tTlItm, obj4);
}
const formatToPlainStringResult1 = intl4.formatToPlainString(arg1(dependencyMap[41]).t.PkyRZo, obj1);
}
};
export const useLaunchInGameActivityQuest = function useLaunchInGameActivityQuest(quest) {
let obj = arg1(dependencyMap[23]);
obj = {};
const activityApplicationId = obj.getActivityApplicationId(quest);
obj.launchInGameActivity = importDefault(dependencyMap[49])({ applicationId: activityApplicationId });
return obj;
};
export { useIsPreviewerOnAnyQuest };
export const useShouldShowPreviewToolTab = function useShouldShowPreviewToolTab() {
return useIsPreviewerOnAnyQuest();
};
export const useShouldShowQuestsActivityPanelItem = function useShouldShowQuestsActivityPanelItem(userStatus) {
userStatus = undefined;
if (null != userStatus) {
userStatus = userStatus.userStatus;
}
let isDismissedResult = null != userStatus;
if (isDismissedResult) {
isDismissedResult = arg1(dependencyMap[20]).isDismissed(userStatus.userStatus, arg1(dependencyMap[19]).QuestContent.ACTIVITY_PANEL);
const obj = arg1(dependencyMap[20]);
}
let tmp6 = null;
if (null != userStatus) {
tmp6 = userStatus;
}
let claimedAt;
if (null != userStatus) {
userStatus = userStatus.userStatus;
if (null != userStatus) {
claimedAt = userStatus.claimedAt;
}
}
const tmp5 = useIsQuestExpired;
const tmp5Result = useIsQuestExpired(tmp6);
const tmp9 = null != claimedAt;
const items = [closure_12];
const stateFromStores = arg1(dependencyMap[13]).useStateFromStores(items, () => null != obj.questEnrollmentBlockedUntil, []);
if (!isDismissedResult) {
isDismissedResult = tmp5Result;
}
if (!isDismissedResult) {
isDismissedResult = tmp9;
}
if (!isDismissedResult) {
isDismissedResult = stateFromStores;
}
return !isDismissedResult;
};
export const useQuestsWithPreviewAccess = function useQuestsWithPreviewAccess() {
const items = [closure_12];
const stateFromStoresArray = arg1(dependencyMap[13]).useStateFromStoresArray(items, () => {
const quests = quests.quests;
const items = [...quests.values()];
return items;
});
const arg1 = stateFromStoresArray;
const items1 = [stateFromStoresArray];
return React.useMemo(() => stateFromStoresArray.filter((preview) => preview.preview), items1);
};
export const useQuestHomeFilterOptions = function useQuestHomeFilterOptions() {
let closure_0 = closure_17;
const items = [closure_17];
return React.useMemo(() => closure_0.map((arg0) => {
let tmp;
let tmp2;
[tmp, tmp2] = arg0;
const obj = { heading: callback(closure_2[37]).getFilterGroupHeadingText(tmp), options: tmp2 };
return obj;
}), items);
};
export const useQuestHomeSortOptions = function useQuestHomeSortOptions() {
return React.useMemo(() => {
const keys = Object.keys(closure_16);
return keys.map((arg0) => {
const obj = { label: callback(closure_2[37]).getSortMethodText(closure_16[arg0]), value: closure_16[arg0] };
return obj;
});
}, []);
};
export const useQuestHomeSortingFilteringAnalytics = function useQuestHomeSortingFilteringAnalytics(selectedSortMethod) {
selectedSortMethod = selectedSortMethod.selectedSortMethod;
const arg1 = selectedSortMethod;
const selectedFilters = selectedSortMethod.selectedFilters;
const importDefault = selectedFilters;
const numQuestsVisible = selectedSortMethod.numQuestsVisible;
const dependencyMap = numQuestsVisible;
let closure_3 = React.useRef(null);
let closure_4 = React.useRef(null);
const items = [selectedSortMethod];
const effect = React.useEffect(() => {
let obj = selectedFilters(numQuestsVisible[50]);
obj = { sort_method: selectedSortMethod, previous_sort_method: ref.current };
obj.track(constants.QUEST_HOME_SORT_METHOD_CHANGED, obj);
ref.current = selectedSortMethod;
}, items);
const items1 = [selectedFilters, numQuestsVisible];
const effect1 = React.useEffect(() => {
const mapped = selectedFilters.map((arg0) => arg0.filter);
let obj = selectedFilters(numQuestsVisible[50]);
obj = { filters: mapped };
let current = ref2.current;
if (null == current) {
current = [];
}
obj.previous_filters = current;
obj.num_quests_visible = numQuestsVisible;
obj.track(constants.QUEST_HOME_FILTERS_CHANGED, obj);
ref2.current = mapped;
}, items1);
};
export const useShouldShowQuestPreviewOverrides = function useShouldShowQuestPreviewOverrides(quest) {
let preview = React.useMemo(() => {
const currentUser = currentUser.getCurrentUser();
let isStaffResult;
if (null != currentUser) {
isStaffResult = currentUser.isStaff();
}
return true === isStaffResult;
}, []);
if (!preview) {
preview = quest.preview;
}
return preview;
};
export { useQuestHomeHeroShelf };
export const useFetchQuestHomeBounties = function useFetchQuestHomeBounties(location) {
let isFetching;
let questHomeBounties;
let obj = location;
if (location === undefined) {
obj = {};
}
const previewAdCreativeIds = obj.previewAdCreativeIds;
const arg1 = previewAdCreativeIds;
let importDefault;
let dependencyMap;
let closure_3;
let callback3;
const showBounties = arg1(dependencyMap[52]).useBountiesExperience(constants2.QUEST_HOME_MOBILE).showBounties;
importDefault = showBounties;
const BountyStaleRefreshQuestHomeExperiment = arg1(dependencyMap[27]).BountyStaleRefreshQuestHomeExperiment;
obj = { location: constants2.QUEST_HOME_MOBILE };
const enabled = BountyStaleRefreshQuestHomeExperiment.useConfig(obj).enabled;
dependencyMap = enabled;
const obj2 = arg1(dependencyMap[52]);
const videoModalPlacementEnabled = arg1(dependencyMap[53]).useVideoModalPlacementEnabled("useFetchQuestHomeBounties");
const AdPlacement = arg1(dependencyMap[19]).AdPlacement;
const tmp2 = videoModalPlacementEnabled ? AdPlacement.VIDEO_MODAL_MOBILE : AdPlacement.QUEST_HOME_MOBILE_CAROUSEL;
closure_3 = tmp2;
const tmp3 = callback3(React.useState(showBounties), 2);
let first = tmp3[0];
callback3 = tmp3[1];
const obj4 = arg1(dependencyMap[53]);
const items = [closure_10];
const stateFromStoresObject = arg1(dependencyMap[13]).useStateFromStoresObject(items, () => ({ isFetching: closure_10.isFetchingQuestHomeBounties, questHomeBounties: closure_10.questHomeBounties }));
const items1 = [showBounties, enabled, previewAdCreativeIds, tmp2];
({ isFetching, questHomeBounties } = stateFromStoresObject);
const effect = React.useEffect(() => {
function loadBounties(arg0) {
return _loadBounties(...arguments);
}
function _loadBounties() {
// CreateGeneratorClosureLongIndex (0x67)
const obj = loadBounties(tmp);
const _loadBounties = obj;
return obj(...arguments);
}
if (closure_1) {
let closure_0 = false;
closure_1 = 0;
const bounties = loadBounties();
if (interval) {
const _window = window;
const interval = window.setInterval(() => {
if (Date.now() - closure_1 > closure_34) {
loadBounties();
}
}, closure_35);
return () => {
let closure_0 = true;
window.clearInterval(closure_2);
};
} else {
return () => {
let closure_0 = true;
};
}
}
}, items1);
obj = {};
if (showBounties) {
obj.questHomeBounties = questHomeBounties;
if (!first) {
first = isFetching;
}
obj.isLoading = first;
let tmp7 = obj;
} else {
obj.questHomeBounties = [];
obj.isLoading = false;
tmp7 = obj;
}
return tmp7;
};
export const useQuestHomeBounties = function useQuestHomeBounties() {
const items = [closure_10];
return arg1(dependencyMap[13]).useStateFromStoresObject(items, () => ({ questHomeBounties: closure_10.questHomeBounties, isFetching: closure_10.isFetchingQuestHomeBounties }));
};
export const useQuestBarImpressionSurvey = function useQuestBarImpressionSurvey(quest) {
const arg1 = quest;
let enrolledAt;
const DropsOptedOut = arg1(dependencyMap[55]).DropsOptedOut;
const setting = DropsOptedOut.useSetting();
const importDefault = setting;
const userStatus = quest.userStatus;
if (null != userStatus) {
enrolledAt = userStatus.enrolledAt;
}
const dependencyMap = tmp3;
const items = [setting, null != enrolledAt, quest.id];
return React.useCallback(() => {
if (!tmp3) {
let tmp4;
let fireSurveyAction = arg0(tmp3[56]).SurveyActionTypes;
tmp4 = arg0(tmp3[57]);
fireSurveyAction = tmp4.fireSurveyAction;
const obj = { quest_id: arg0.id };
fireSurveyAction(setting ? fireSurveyAction.AD_IMPRESSION_QUEST_BAR_OPT_OUT : fireSurveyAction.AD_IMPRESSION_QUEST_BAR_OPT_IN, obj);
const tmp5 = setting ? fireSurveyAction.AD_IMPRESSION_QUEST_BAR_OPT_OUT : fireSurveyAction.AD_IMPRESSION_QUEST_BAR_OPT_IN;
}
}, items);
};