206 lines
7.2 KiB
TypeScript
206 lines
7.2 KiB
TypeScript
// Metro module 5983 (f5984).
|
|
import LocaleStore from "../../user_settings/LocaleStore";
|
|
import BountyStore from "../BountyStore";
|
|
import QuestStore from "../QuestStore";
|
|
import { BILLABLE_PLACEMENTS, DismissibleQuestContentFlags, EMPTY_AD_DECISION_DATA } from "../QuestConstants";
|
|
import { AdPlacement, QuestContent } from "../QuestTypes";
|
|
import { hasFlag } from "../../../_bundle/Module1384";
|
|
import NewAdRequestBehaviorExperiment from "../experiments/NewAdRequestBehaviorExperiment";
|
|
import SentryUtils_native from "../../../utils/SentryUtils.native";
|
|
let c3778_9, c3778_10;
|
|
const getQuestDeliveryDataForPlacement = function getQuestDeliveryDataForPlacement(a0, a1) {
|
|
let r17;
|
|
L6: {
|
|
if (a0 !== AdPlacement.QUEST_HOME_MOBILE_CAROUSEL) {
|
|
const VIDEO_MODAL_MOBILE = AdPlacement.VIDEO_MODAL_MOBILE;
|
|
r17 = null;
|
|
if (a0 !== VIDEO_MODAL_MOBILE) {
|
|
break L6;
|
|
}
|
|
}
|
|
const r1 = a1 == null;
|
|
r17 = null;
|
|
if (!r1) {
|
|
const adDecisionByPlacementAndAdCreativeId = BountyStore.getAdDecisionByPlacementAndAdCreativeId(a0, a1);
|
|
r17 = adDecisionByPlacementAndAdCreativeId != null ? {
|
|
questId: adDecisionByPlacementAndAdCreativeId.questId,
|
|
adCreativeId: adDecisionByPlacementAndAdCreativeId.adCreativeId,
|
|
adDecisionData: adDecisionByPlacementAndAdCreativeId.adDecisionData,
|
|
adContext: adDecisionByPlacementAndAdCreativeId.adContext,
|
|
metadataSealed: adDecisionByPlacementAndAdCreativeId.metadataSealed,
|
|
trafficMetadataSealed: adDecisionByPlacementAndAdCreativeId.trafficMetadataSealed
|
|
} : null;
|
|
}
|
|
}
|
|
if (r17 != null) {
|
|
return r17;
|
|
}
|
|
const enableNewRequestBehavior = NewAdRequestBehaviorExperiment.getConfig({
|
|
location: "getQuestDeliveryDataForPlacement"
|
|
}).enableNewRequestBehavior;
|
|
const r40 = QuestStore.questAdDecisionByPlacement.get(a0);
|
|
if (a0 === AdPlacement.QUEST_HOME_BANNER_DESKTOP && r40 != null) {
|
|
return {
|
|
questId: r40.questId,
|
|
adCreativeId: r40.adCreativeId,
|
|
adDecisionData: r40.adDecisionData,
|
|
adContext: r40.adContext,
|
|
metadataSealed: r40.metadataSealed,
|
|
trafficMetadataSealed: r40.trafficMetadataSealed
|
|
};
|
|
}
|
|
if (enableNewRequestBehavior) {
|
|
return r40 == null ? null : {
|
|
questId: r40.questId,
|
|
adCreativeId: r40.adCreativeId,
|
|
adDecisionData: r40.adDecisionData,
|
|
adContext: r40.adContext,
|
|
metadataSealed: r40.metadataSealed,
|
|
trafficMetadataSealed: r40.trafficMetadataSealed
|
|
};
|
|
}
|
|
const r47 = QuestStore.questToDeliverForPlacement.get(a0);
|
|
return r47 == null ? null : {
|
|
questId: r47.quest.id,
|
|
adCreativeId: r47.quest.id,
|
|
adDecisionData: r47.adDecisionData,
|
|
adContext: r47.adContext,
|
|
metadataSealed: r47.metadataSealed,
|
|
trafficMetadataSealed: r47.trafficMetadataSealed
|
|
};
|
|
};
|
|
c3778_9 = 2592000000;
|
|
const r25 = {};
|
|
r25[QuestContent.QUEST_BAR] = AdPlacement.DESKTOP_ACCOUNT_PANEL_AREA;
|
|
r25[QuestContent.QUEST_BAR_V2] = AdPlacement.DESKTOP_ACCOUNT_PANEL_AREA;
|
|
r25[QuestContent.QUEST_BAR_MOBILE] = AdPlacement.MOBILE_HOME_DOCK_AREA;
|
|
r25[QuestContent.QUEST_HOME_HERO] = AdPlacement.QUEST_HOME_BANNER_DESKTOP;
|
|
r25[QuestContent.QUEST_HOME_HERO_SHELF] = AdPlacement.QUEST_HOME_BANNER_DESKTOP;
|
|
r25[QuestContent.QUEST_HOME_MOBILE_CAROUSEL] = AdPlacement.QUEST_HOME_MOBILE_CAROUSEL;
|
|
r25[QuestContent.VIDEO_MODAL_MOBILE] = AdPlacement.VIDEO_MODAL_MOBILE;
|
|
c3778_10 = r25;
|
|
export const THIRTY_DAYS_MS = 2592000000;
|
|
export function earnedDecisionIsValid(a0) {
|
|
return a0 != null && a0.fetchedAt + a0.ttlMillis >= Date.now();
|
|
}
|
|
export function findQuestOrReplacement(a0, a1, a2) {
|
|
const r6 = Array.isArray(a1) ? new Map(a1.map((item) => [item.id, item])) : a1;
|
|
const r19 = Array.isArray(a2) ? new Map(a2.map((item) => [item.id, item])) : a2;
|
|
const r30 = r6.get(a0);
|
|
if (r30 != null) {
|
|
return r30;
|
|
}
|
|
const replacementId = r19.get(a0)?.replacementId;
|
|
return replacementId != null ? r6.get(replacementId) : void 0;
|
|
}
|
|
export function isDismissible(a0) {
|
|
return Object.keys(DismissibleQuestContentFlags).includes(QuestContent[a0]);
|
|
}
|
|
export function isDismissed(a0, a1) {
|
|
if (Object.keys(DismissibleQuestContentFlags).includes(QuestContent[a1])) {
|
|
return hasFlag(a0.dismissedQuestContent, DismissibleQuestContentFlags[QuestContent[a1]]);
|
|
}
|
|
return false;
|
|
}
|
|
export function isQuestConfigExpired(a0) {
|
|
return new Date(a0.expiresAt).valueOf() <= Date.now();
|
|
}
|
|
export function isQuestExpired(a0) {
|
|
return new Date(a0.config.expiresAt).valueOf() <= Date.now();
|
|
}
|
|
export function getIsQuestExpiredButWithinThirtyDayLookback(a0) {
|
|
if (new Date(a0.config.expiresAt).valueOf() <= Date.now()) {
|
|
const r0 = Date.now() - c3778_9;
|
|
const r30 = new Date(a0.config.expiresAt).valueOf();
|
|
return a0.config.expiresAt != null && !(r30 <= r0);
|
|
}
|
|
return false;
|
|
}
|
|
export function findNextUpcomingExpirationEpochMs(a0) {
|
|
let r0 = null;
|
|
const r3 = Date.now();
|
|
for (const item of a0) {
|
|
const r31 = new Date(item.config.expiresAt).valueOf();
|
|
if (!(r31 <= r3) && (r0 == null || r31 < r0)) {
|
|
r0 = r31;
|
|
}
|
|
}
|
|
return r0;
|
|
}
|
|
export function hasUnclaimedReward(a0) {
|
|
return a0 != null && a0.completedAt != null && a0.claimedAt == null;
|
|
}
|
|
export function getQuestFormattedDate(a0, r5 = {
|
|
dateStyle: "short"
|
|
}) {
|
|
return a0 == null ? "" : new Date(a0).toLocaleDateString(LocaleStore.locale, r5);
|
|
}
|
|
export function getQuestForPlacement(a0, a1, a2) {
|
|
const r10 = a1.get(a2);
|
|
if (r10 != null) {
|
|
const r15 = a0.get(r10.quest.id);
|
|
return r15 == null ? void 0 : new Date(r15.config.expiresAt).valueOf() <= Date.now() ? void 0 : r15;
|
|
}
|
|
}
|
|
export function getQuestPlacementFromQuestContent(a0) {
|
|
return c3778_10[a0];
|
|
}
|
|
export function isBillableQuestContent(a0) {
|
|
const r4 = c3778_10[a0];
|
|
return r4 != null && BILLABLE_PLACEMENTS.has(r4);
|
|
}
|
|
export function getAdDecisionData(a0, a1) {
|
|
const r8 = c3778_10[a1];
|
|
if (r8 == null) {
|
|
return EMPTY_AD_DECISION_DATA;
|
|
}
|
|
let r10 = getQuestDeliveryDataForPlacement(r8, a0);
|
|
if (r10 == null) {
|
|
r10 = {};
|
|
}
|
|
const { adDecisionData, questId, adCreativeId } = r10;
|
|
return adDecisionData == null ? EMPTY_AD_DECISION_DATA : questId !== a0 ? adCreativeId !== a0 ? adDecisionData.ad_id !== a0 ? EMPTY_AD_DECISION_DATA : adDecisionData : adDecisionData : adDecisionData;
|
|
}
|
|
export function getAdMetadataSealed(a0, a1) {
|
|
const r6 = c3778_10[a0];
|
|
if (r6 != null) {
|
|
return getQuestDeliveryDataForPlacement(r6, a1)?.metadataSealed;
|
|
}
|
|
}
|
|
export function getAdTrafficMetadataSealed(a0, a1, a2) {
|
|
L6: {
|
|
const r8 = c3778_10[a0];
|
|
if (r8 != null) {
|
|
let r10 = getQuestDeliveryDataForPlacement(r8, a2);
|
|
if (r10 == null) {
|
|
r10 = {};
|
|
}
|
|
const { trafficMetadataSealed, questId } = r10;
|
|
if (trafficMetadataSealed != null) {
|
|
if (a2 == null && questId !== a1) {
|
|
break L6;
|
|
}
|
|
return trafficMetadataSealed;
|
|
}
|
|
}
|
|
}
|
|
if (a1 != null) {
|
|
return QuestStore.getQuest(a1)?.trafficMetadataSealed;
|
|
}
|
|
}
|
|
export function getAdContext(a0, a1) {
|
|
const r6 = c3778_10[a0];
|
|
if (r6 != null) {
|
|
return getQuestDeliveryDataForPlacement(r6, a1)?.adContext;
|
|
}
|
|
}
|
|
export function captureQuestsException(a0, a1) {
|
|
SentryUtils_native.captureException(a0, {
|
|
...a1,
|
|
tags: {
|
|
...a1?.tags,
|
|
app_context: "quests"
|
|
}
|
|
});
|
|
}
|