This commit is contained in:
janisslsm committed 2026-11-01 12:12:55 +02:00
1 parent 1781d25a15
commit 732c0ad767
33051 files changed
+2591613 -3019689

No files matched your search

+404
View File
@@ -0,0 +1,404 @@
// Metro module 9479 (f9480).
import { CDN_URL_BASE, QUESTS_CDN_URL_BASE } from "../QuestConstants";
import { MEDIA_PROXY_MAX_TARGET_RESOLUTION } from "../../../Constants";
import Module9480 from "../../../_bundle/Module9480";
import Module9481 from "../../../_bundle/Module9481";
import Module9482 from "../../../_bundle/Module9482";
import Module9483 from "../../../_bundle/Module9483";
import { getQuestPrimaryReward } from "../utils/QuestRewardUtils";
import { QuestRewardTypes } from "../../../_bundle/Module5990";
import Module9491 from "../../../_bundle/Module9491";
import Module9492 from "../../../_bundle/Module9492";
import { FirstPartyQuestTaskTypes } from "../../../_bundle/Module5040";
import URLUtils from "../../../utils/URLUtils";
import getDevicePixelRatio_native from "../../../utils/getDevicePixelRatio.native";
let c6253_6, _excluded, c6253_8, c6253_10, c6253_11, getMimetype, getAssetUrlWithMediaProxyQueryParams, convertVideoToFirstFrameImageWithMediaProxy;
const resolveAsset = function resolveAsset(id, a1, a2) {
let url;
if (a1.startsWith("blob:")) {
let r41 = a1.split("?", 1).at(0);
if (r41 == null) {
r41 = a1;
}
url = r41;
} else {
url = a1.includes("/") ? `${CDN_URL_BASE}${a1}` : `${QUESTS_CDN_URL_BASE}${id}${a2?.theme != null ? `/${a2.theme}` : ""}/${a1}`;
}
const mimetype = getMimetype(a1);
return {
url,
mimetype,
isAnimated: mimetype != null && _excluded.includes(mimetype)
};
};
getMimetype = function getMimetype(a0) {
const r5 = a0.startsWith("blob:");
const r16 = URLUtils.toURLSafe(a0);
const r2 = r16 == null;
if (r5) {
let r40 = r2 ? void 0 : r16.searchParams.get("mimetype");
if (r40 == null) {
r40 = void 0;
}
return r40 != null ? decodeURIComponent(r40) : null;
}
let r18 = void 0;
if (!r2) {
const r19 = r16.searchParams.get("format");
r18 = r19 == null ? void 0 : r19.toLowerCase();
}
if (r18 == null) {
const r23 = c6253_6.exec(a0);
const r24 = r23 == null;
let r25 = void 0;
if (!r24) {
const r26 = r23[1];
r25 = r26 == null ? void 0 : r26.toLowerCase();
}
r18 = r25;
}
switch (r18) {
case "webm":
return "video/webm";
case "mp4":
return "video/mp4";
case "webp":
return "image/webp";
case "jpg":
case "jpeg":
return "image/jpeg";
case "png":
return "image/png";
case "gif":
return "image/gif";
case "svg":
return "image/svg+xml";
case "txt":
return "text/plain";
case "vtt":
return "text/vtt";
case "ts":
return "video/mp2t";
case "m3u8":
return "application/x-mpegURL";
default:
return null;
}
};
getAssetUrlWithMediaProxyQueryParams = function getAssetUrlWithMediaProxyQueryParams(assetUrl, r3 = {}) {
if (assetUrl.startsWith("blob:")) {
return assetUrl;
}
const r20 = URLUtils.toURLSafe(assetUrl);
let r22 = assetUrl;
if (r20 != null) {
if (r3.format != null) {
r20.searchParams.set("format", r3.format);
}
if (r3.width != null) {
r20.searchParams.set("width", `${Math.min(Math.ceil(r3.width), MEDIA_PROXY_MAX_TARGET_RESOLUTION)}`);
}
if (r3.height != null) {
r20.searchParams.set("height", `${Math.min(Math.ceil(r3.height), MEDIA_PROXY_MAX_TARGET_RESOLUTION)}`);
}
r22 = r20.toString();
}
return r22;
};
convertVideoToFirstFrameImageWithMediaProxy = function convertVideoToFirstFrameImageWithMediaProxy(assetUrl, a1) {
if (assetUrl.startsWith("blob:")) {
return assetUrl;
}
const r5 = URLUtils.toURLSafe(assetUrl);
const r1 = r5 == null;
let r22 = null;
if (!r1) {
r5.searchParams.set("format", "webp");
if (a1 != null) {
r5.searchParams.set("width", `${Math.min(Math.ceil(a1.width), MEDIA_PROXY_MAX_TARGET_RESOLUTION)}`);
r5.searchParams.set("height", `${Math.min(Math.ceil(a1.height), MEDIA_PROXY_MAX_TARGET_RESOLUTION)}`);
}
r22 = r5.toString();
}
return r22;
};
c6253_6 = /\.([a-zA-Z0-9]+)$/;
_excluded = ["video/mp4", "video/webm"];
c6253_8 = {
HERO: "hero",
HERO_IMAGE: "hero_image",
HERO_VIDEO: "hero_video",
QUEST_BAR_HERO: "quest_bar_hero",
QUEST_BAR_HERO_VIDEO: "quest_bar_hero_video",
QUEST_BAR_HERO_IMAGE: "quest_bar_hero_image",
REWARD: "reward",
REWARD_IMAGE: "reward_image",
GAME_TILE: "game_tile",
LOGO_TYPE: "logo_type",
COSPONSOR_LOGO_TYPE: "cosponsor_logo_type",
VIDEO_PLAYER_VIDEO: "video_player_video",
VIDEO_PLAYER_VIDEO_LOW_RES: "video_player_video_low_res",
VIDEO_PLAYER_VIDEO_HLS: "video_player_video_hls",
VIDEO_PLAYER_THUMBNAIL: "video_player_thumbnail",
VIDEO_PLAYER_CAPTION: "video_player_caption",
VIDEO_PLAYER_TRANSCRIPT: "video_player_transcript"
};
const r19 = {
VIDEO: "video",
VIDEO_LOW_RES: "videoLowRes",
VIDEO_HLS: "videoHls"
};
const r18 = {
VIDEO: "url",
THUMBNAIL: "thumbnail",
CAPTION: "caption",
TRANSCRIPT: "transcript"
};
const r57 = {
TIER_1: 1,
1: "TIER_1",
TIER_2: 2,
2: "TIER_2",
TIER_3: 3,
3: "TIER_3",
TIER_4: 4,
4: "TIER_4"
};
const r64 = {};
r64[c6253_8.VIDEO_PLAYER_VIDEO] = {
variant: r19.VIDEO,
property: r18.VIDEO
};
r64[c6253_8.VIDEO_PLAYER_VIDEO_LOW_RES] = {
variant: r19.VIDEO_LOW_RES,
property: r18.VIDEO
};
r64[c6253_8.VIDEO_PLAYER_VIDEO_HLS] = {
variant: r19.VIDEO_HLS,
property: r18.VIDEO
};
r64[c6253_8.VIDEO_PLAYER_THUMBNAIL] = {
variant: r19.VIDEO,
property: r18.THUMBNAIL
};
r64[c6253_8.VIDEO_PLAYER_CAPTION] = {
variant: r19.VIDEO,
property: r18.CAPTION
};
r64[c6253_8.VIDEO_PLAYER_TRANSCRIPT] = {
variant: r19.VIDEO,
property: r18.TRANSCRIPT
};
c6253_10 = r64;
const r86 = {};
r86[r57.TIER_1] = Module9480;
r86[r57.TIER_2] = Module9481;
r86[r57.TIER_3] = Module9482;
r86[r57.TIER_4] = Module9483;
c6253_11 = r86;
export { c6253_6 as EXTENSION_RE };
export { _excluded as ANIMATED_MIMETYPES };
export { c6253_8 as QuestAssetType };
export { resolveAsset };
export { r57 as OrbsValueTier };
export function getQuestAsset(a0, a1, a2, a3, a4) {
let r0, r1, hero;
L72: {
if (c6253_8.HERO === a1) {
a0.config.assets.heroVideo;
hero = a0.config.assets.hero;
r0 = false;
r1 = false;
} else if (c6253_8.HERO_IMAGE === a1) {
hero = a0.config.assets.hero;
r0 = false;
r1 = false;
} else if (c6253_8.HERO_VIDEO === a1) {
const heroVideo = a0.config.assets.heroVideo;
const r158 = heroVideo == null;
r0 = false;
r1 = false;
hero = heroVideo;
if (r158) {
return null;
}
} else if (c6253_8.QUEST_BAR_HERO === a1) {
a0.config.assets.questBarHeroVideo;
hero = a0.config.assets.questBarHero;
r0 = false;
r1 = false;
} else if (c6253_8.QUEST_BAR_HERO_VIDEO === a1) {
const questBarHeroVideo = a0.config.assets.questBarHeroVideo;
const r148 = questBarHeroVideo == null;
r0 = false;
r1 = false;
hero = questBarHeroVideo;
if (r148) {
return null;
}
} else if (c6253_8.QUEST_BAR_HERO_IMAGE === a1) {
hero = a0.config.assets.questBarHero;
r0 = false;
r1 = false;
} else if (c6253_8.REWARD === a1) {
const questPrimaryReward2 = getQuestPrimaryReward(a0);
if (questPrimaryReward2.type === QuestRewardTypes.VIRTUAL_CURRENCY) {
const url = a4 != null ? c6253_11[a4] : void 0;
return url != null ? {
url,
mimetype: "video/webm",
isAnimated: true
} : a3 ? {
url: Module9491,
mimetype: "video/mp4",
isAnimated: true
} : {
url: Module9492,
mimetype: "video/webm",
isAnimated: true
};
}
questPrimaryReward2.assetVideo;
hero = questPrimaryReward2.asset;
r0 = false;
r1 = false;
} else if (c6253_8.REWARD_IMAGE === a1) {
const questPrimaryReward = getQuestPrimaryReward(a0);
if (questPrimaryReward.type === QuestRewardTypes.VIRTUAL_CURRENCY) {
return null;
}
hero = questPrimaryReward.asset;
r0 = false;
r1 = false;
} else if (c6253_8.GAME_TILE === a1) {
if (a2 === "dark" && a0.config.assets.gameTileDark != null) {
hero = a0.config.assets.gameTileDark;
r0 = false;
r1 = false;
break L72;
}
if (a2 === "light" && a0.config.assets.gameTileLight != null) {
hero = a0.config.assets.gameTileLight;
r0 = false;
r1 = false;
break L72;
}
hero = a0.config.assets.gameTile;
r0 = false;
r1 = true;
} else if (c6253_8.LOGO_TYPE === a1) {
if (a2 === "dark" && a0.config.assets.logotypeDark != null) {
hero = a0.config.assets.logotypeDark;
r0 = false;
r1 = false;
break L72;
}
if (a2 === "light" && a0.config.assets.logotypeLight != null) {
hero = a0.config.assets.logotypeLight;
r0 = false;
r1 = false;
break L72;
}
hero = a0.config.assets.logotype;
r0 = false;
r1 = true;
} else if (c6253_8.COSPONSOR_LOGO_TYPE === a1) {
if (a0.config.cosponsorMetadata == null) {
return null;
}
if (a2 === "dark" && a0.config.cosponsorMetadata.logotypeDark != null) {
hero = a0.config.cosponsorMetadata.logotypeDark;
r0 = false;
r1 = false;
break L72;
}
if (a2 === "light" && a0.config.cosponsorMetadata.logotypeLight != null) {
hero = a0.config.cosponsorMetadata.logotypeLight;
r0 = false;
r1 = false;
break L72;
}
hero = a0.config.cosponsorMetadata.logotype;
r0 = false;
r1 = true;
} else {
if (c6253_8.VIDEO_PLAYER_VIDEO !== a1 && c6253_8.VIDEO_PLAYER_VIDEO_LOW_RES !== a1 && c6253_8.VIDEO_PLAYER_VIDEO_HLS !== a1 && c6253_8.VIDEO_PLAYER_THUMBNAIL !== a1 && c6253_8.VIDEO_PLAYER_CAPTION !== a1) {
const VIDEO_PLAYER_TRANSCRIPT = c6253_8.VIDEO_PLAYER_TRANSCRIPT;
r0 = false;
r1 = false;
hero = void 0;
if (VIDEO_PLAYER_TRANSCRIPT !== a1) {
break L72;
}
}
if (!("taskConfigV2" in a0.config)) {
return null;
}
const r43 = a0.config.taskConfigV2.tasks[a3 ? FirstPartyQuestTaskTypes.WATCH_VIDEO_ON_MOBILE : FirstPartyQuestTaskTypes.WATCH_VIDEO];
const r45 = c6253_10[a1];
const r3 = r43 == null;
let r47 = void 0;
if (!r3) {
const r50 = r43.assets[r45.variant];
r47 = r50 == null ? void 0 : r50[r45.property];
}
const r53 = r47 == null;
r0 = true;
r1 = false;
hero = r47;
if (r53) {
return null;
}
}
}
const r171 = resolveAsset(a0.id, hero, {
theme: r1 ? a2 : void 0
});
return r0 ? r171.mimetype != null ? r171 : null : r171;
}
export function buildUrl(a0, a1, a2) {
if (a1.startsWith("blob:")) {
let r41 = a1.split("?", 1).at(0);
if (r41 == null) {
r41 = a1;
}
return r41;
}
return a1.includes("/") ? `${CDN_URL_BASE}${a1}` : `${QUESTS_CDN_URL_BASE}${a0}${a2?.theme != null ? `/${a2.theme}` : ""}/${a1}`;
}
export function resolveOptionalAdCreativeCdnUrl(a0) {
if (a0 != null) {
return a0.startsWith("http://") ? a0 : a0.startsWith("https://") ? a0 : a0.startsWith("blob:") ? a0 : `${CDN_URL_BASE}${a0}`;
}
}
export function resolveAdCreativeCdnUrl(a0) {
return a0.startsWith("http://") ? a0 : a0.startsWith("https://") ? a0 : a0.startsWith("blob:") ? a0 : `${CDN_URL_BASE}${a0}`;
}
export { getMimetype };
export function getDevicePixelScaledDimensions(a0, a1) {
const devicePixelRatio_native = getDevicePixelRatio_native();
return devicePixelRatio_native < 3 ? {
width: a0,
height: a1
} : {
width: a0 * devicePixelRatio_native,
height: a1 * devicePixelRatio_native
};
}
export { getAssetUrlWithMediaProxyQueryParams };
export function getScaledImageUrl({ assetUrl, width, height }) {
const devicePixelRatio_native = getDevicePixelRatio_native();
return getAssetUrlWithMediaProxyQueryParams(assetUrl, {
width: width * devicePixelRatio_native,
height: height * devicePixelRatio_native,
format: "webp"
});
}
export { convertVideoToFirstFrameImageWithMediaProxy };
export function getScaledFirstFrameImageUrl({ assetUrl, width, height }) {
const devicePixelRatio_native = getDevicePixelRatio_native();
return convertVideoToFirstFrameImageWithMediaProxy(assetUrl, {
width: width * devicePixelRatio_native,
height: height * devicePixelRatio_native
});
}
@@ -0,0 +1,31 @@
// Metro module 9488 (f9489).
import { getFractionalPremiumUnitsHoursFromSkuIds } from "../../../utils/PremiumUtils";
import { intl, t } from "../../../intl/index.native";
import { QuestRewardTypes } from "../../../_bundle/Module5990";
import { unitsAsStrings, diffAsUnits } from "../../../utils/DateUtils";
import Durations from "../../../utils/Durations";
let $mk82598 = function() {
return (a0) => a0.type === QuestRewardTypes.FRACTIONAL_PREMIUM;
};
export function getDurationStringOfFractionalPremium(a0) {
const fractionalPremiumUnitsHoursFromSkuIds = getFractionalPremiumUnitsHoursFromSkuIds(a0.map((item) => item.skuId));
return fractionalPremiumUnitsHoursFromSkuIds % 24 === 0 ? intl.formatToPlainString(t.Cz1G97, {
days: fractionalPremiumUnitsHoursFromSkuIds / 24
}) : intl.formatToPlainString(t.J9Lu4h, {
hours: fractionalPremiumUnitsHoursFromSkuIds
});
}
export function getFractionalPremiumQuestRewards(a0) {
return a0.rewardsConfig.rewards.filter($mk82598());
}
export function getFractionalPremiumQuestRewardName(a0) {
const fractionalPremiumUnitsHoursFromSkuIds = getFractionalPremiumUnitsHoursFromSkuIds(a0.rewardsConfig.rewards.filter($mk82598()).flatMap((item) => Array(item.quantity).fill(item.skuId)));
const r9 = {
days: t.fYmirx,
hours: t["C3RO+g"],
minutes: t.r77oHc
};
return intl.formatToPlainString(t["4SqnVD"], {
time: unitsAsStrings(diffAsUnits(0, fractionalPremiumUnitsHoursFromSkuIds * Durations.Millis.HOUR), r9)
});
}
+5
View File
@@ -0,0 +1,5 @@
// Metro module 10493 (f10494).
import { isMetaQuest } from "../../device/MetaQuestUtils.android";
export function getIsEligibleForQuests() {
return !isMetaQuest();
}
@@ -0,0 +1,497 @@
// Metro module 6002 (f6003).
import DevToolsSettingsStore from "../../../devtools/DevToolsSettingsStore";
import DeveloperOptionsStore from "../../../../stores/DeveloperOptionsStore";
import QuestStore from "../../QuestStore";
import { AnalyticEvents } from "../../../../Constants";
import { getActiveSessionUnsafe } from "../../../analytics_sessions/SessionHeartbeatScheduler";
import { getOrRefreshAdSession } from "../../../analytics_sessions/SessionAdGenerator";
import { getAdDecisionData, isBillableQuestContent, getAdMetadataSealed, getAdTrafficMetadataSealed } from "../../utils/QuestDataUtils";
import { getQuestType } from "../../utils/QuestUtils";
import { getAllApplicationIds } from "../../utils/QuestTaskUtils";
import { getQuestStatus, getQuestContentName, getContentProperties } from "./AnalyticsTypes";
import { AdCreativeType } from "../../../../_bundle/Module6013";
import AppAnalyticsUtils from "../../../app_analytics/AppAnalyticsUtils";
import AnalyticsUtils from "../../../../utils/AnalyticsUtils";
import { getAdUser } from "../../../ads/utils/AdDataUtils.android";
import getDeviceMetadata_native from "../../../device/getDeviceMetadata.native";
import { isIOS, isAndroid } from "../../../../utils/PlatformUtils";
import { v4 } from "../../../../_bundle/Module514";
import { getCurrentQuestHomeSearchSession } from "./QuestHomeSearchSession";
import { QuestContent } from "../../QuestTypes";
import { HermesBuiltin } from "../../../../_hermes/prelude";
let c3790_8, trackAdContentEvent, getCommonClickEventProperties;
const trackQuestEvent = function trackQuestEvent(a0) {
const { questId, event, properties: properties2 } = a0;
let trackGuildAndChannelMetadata = a0.trackGuildAndChannelMetadata;
let shouldExtendSession = a0.shouldExtendSession;
if (shouldExtendSession === void 0) {
shouldExtendSession = false;
}
L21: {
const sourceQuestContent = a0.sourceQuestContent;
const r24 = QuestStore.quests.get(questId);
if (r24 != null) {
const r10 = {
quest_id: r24.id,
quest_type: getQuestType(r24.config),
application_ids: null,
quest_status: null
};
let application_ids = getAllApplicationIds(r24);
if (application_ids == null) {
application_ids = [];
}
r10.application_ids = application_ids;
r10.quest_status = getQuestStatus(r24);
const id = r24.id;
const QUEST = AdCreativeType.QUEST;
let uuid2 = getOrRefreshAdSession(shouldExtendSession).uuid;
const adDecisionData = getAdDecisionData(id, sourceQuestContent);
const r51 = {
client_ad_session_id: uuid2,
billing_session_id: null,
ad_content_id: null
};
if (!isBillableQuestContent(sourceQuestContent)) {
let r58 = getActiveSessionUnsafe()?.uuid;
if (r58 == null) {
r58 = null;
}
uuid2 = r58;
}
r51.billing_session_id = uuid2;
r51.ad_content_id = id;
HermesBuiltin.copyDataProperties(r51, adDecisionData);
let creative_type = adDecisionData.creative_type;
if (creative_type == null) {
creative_type = QUEST;
}
const r61 = {};
r51.creative_type = creative_type;
HermesBuiltin.copyDataProperties(r10, r51);
HermesBuiltin.copyDataProperties(r61, r10);
HermesBuiltin.copyDataProperties(r61, properties2);
const preview = r24.preview;
if (trackGuildAndChannelMetadata === void 0) {
trackGuildAndChannelMetadata = false;
}
if (DevToolsSettingsStore.displayTools && DevToolsSettingsStore.lastOpenTabId === "quest_preview") {
break L21;
}
DeveloperOptionsStore.isLoggingAnalyticsEvents;
if (!preview) {
const flush = c3790_8.has(event);
if (trackGuildAndChannelMetadata) {
AppAnalyticsUtils.trackWithMetadata(event, r61, flush);
} else {
AnalyticsUtils.track(event, r61, {
flush
});
}
}
}
}
};
trackAdContentEvent = function trackAdContentEvent(a0) {
const { adContentId, relatedQuestId, adCreativeType, event, properties: properties2 } = a0;
let trackGuildAndChannelMetadata = a0.trackGuildAndChannelMetadata;
const { shouldExtendSession = false, sourceQuestContent } = a0;
const r13 = relatedQuestId != null ? QuestStore.getQuest(relatedQuestId) : null;
let uuid2 = getOrRefreshAdSession(shouldExtendSession).uuid;
const adDecisionData = getAdDecisionData(adContentId, sourceQuestContent);
const r32 = {
client_ad_session_id: uuid2,
billing_session_id: null,
ad_content_id: null
};
if (!isBillableQuestContent(sourceQuestContent)) {
let r40 = getActiveSessionUnsafe()?.uuid;
if (r40 == null) {
r40 = null;
}
uuid2 = r40;
}
r32.billing_session_id = uuid2;
r32.ad_content_id = adContentId;
HermesBuiltin.copyDataProperties(r32, adDecisionData);
let creative_type = adDecisionData.creative_type;
if (creative_type == null) {
creative_type = adCreativeType;
}
const r43 = {};
r32.creative_type = creative_type;
HermesBuiltin.copyDataProperties(r43, r32);
let metadata_sealed = getAdMetadataSealed(sourceQuestContent, adContentId);
if (metadata_sealed == null) {
metadata_sealed = null;
}
r43.metadata_sealed = metadata_sealed;
let traffic_metadata_sealed2 = getAdTrafficMetadataSealed(sourceQuestContent, void 0, adContentId);
if (traffic_metadata_sealed2 == null) {
traffic_metadata_sealed2 = null;
}
r43.traffic_metadata_sealed = traffic_metadata_sealed2;
const r55 = relatedQuestId != null ? {
quest_id: relatedQuestId,
quest_status: r13 != null ? getQuestStatus(r13) : null
} : {};
const r62 = {};
HermesBuiltin.copyDataProperties(r43, r55);
HermesBuiltin.copyDataProperties(r62, r43);
HermesBuiltin.copyDataProperties(r62, properties2);
if (trackGuildAndChannelMetadata === void 0) {
trackGuildAndChannelMetadata = false;
}
if (!(DevToolsSettingsStore.displayTools && DevToolsSettingsStore.lastOpenTabId === "quest_preview")) {
DeveloperOptionsStore.isLoggingAnalyticsEvents;
const flush = c3790_8.has(event);
if (trackGuildAndChannelMetadata) {
AppAnalyticsUtils.trackWithMetadata(event, r62, flush);
} else {
AnalyticsUtils.track(event, r62, {
flush
});
}
}
};
getCommonClickEventProperties = async function getCommonClickEventProperties(c25673_0) {
let c25673_3;
c25673_3 = void 0;
let c29647_0 = c25673_0.questContent;
let c29647_1 = c25673_0.questContentPosition;
let c29647_2 = c25673_0.questContentRowIndex;
let c29647_3 = c25673_0.questContentCTA;
let c29647_4 = c25673_0.impressionId;
let c29647_5 = c25673_0.clickId;
await void 0;
let c29647_6 = await getAdUser(getQuestContentName(c29647_0));
const r80 = {
...getContentProperties(c29647_0, c29647_1, c29647_2),
...getDeviceMetadata_native(),
cta_name: c29647_3,
impression_id: c29647_4,
apple_advertising_id: c29647_6 != null ? isIOS() ? c29647_6.advertisingId : null : null,
android_advertising_id: c29647_6 != null ? isAndroid() ? c29647_6.advertisingId : null : null
};
let click_id = c29647_5;
if (c29647_5 == null) {
click_id = v4();
}
r80.click_id = click_id;
return r80;
};
c3790_8 = new Set([AnalyticEvents.QUEST_CONTENT_VIEWED, AnalyticEvents.QUEST_CONTENT_CLICKED]);
export { trackQuestEvent };
export function trackAppStoreOverlayEvent(a0, a1, a2, a3, a4) {
const r9 = {
content_name: getQuestContentName(a1.content),
cta_name: a1.ctaContent,
impression_id: a1.impressionId,
source_content_name: getQuestContentName(a1.sourceQuestContent),
app_id: a2,
content_position: a1.position
};
trackQuestEvent({
questId: a0.id,
event: a3,
properties: (a3 === AnalyticEvents.QUEST_APP_STORE_OVERLAY_CLOSED || a3 === AnalyticEvents.QUEST_APP_STORE_OVERLAY_RETURNED) && a4 !== void 0 ? {
...r9,
time_spent_ms: a4
} : r9,
sourceQuestContent: a1.sourceQuestContent
});
}
export function trackAdContentAppStoreOverlayEvent({ adContentId, adCreativeType }, a1, a2, a3, a4) {
const r8 = {
content_name: getQuestContentName(a1.content),
cta_name: a1.ctaContent,
impression_id: a1.impressionId,
source_content_name: getQuestContentName(a1.sourceQuestContent),
app_id: a2,
content_position: a1.position
};
trackAdContentEvent({
adContentId,
adCreativeType,
event: a3,
properties: a3 !== AnalyticEvents.QUEST_APP_STORE_OVERLAY_CLOSED ? a3 === AnalyticEvents.QUEST_APP_STORE_OVERLAY_RETURNED ? a4 !== void 0 ? {
...r8,
time_spent_ms: a4
} : r8 : r8 : a4 !== void 0 ? {
...r8,
time_spent_ms: a4
} : r8,
sourceQuestContent: a1.sourceQuestContent
});
}
export { trackAdContentEvent };
export { getCommonClickEventProperties };
export async function trackQuestContentClicked(c25674_0) {
let c25674_6;
c25674_6 = void 0;
let c29648_0 = c25674_0.questId;
let c29648_1 = c25674_0.questContent;
let c29648_2 = c25674_0.questContentCTA;
let c29648_3 = c25674_0.questContentPosition;
let c29648_4 = c25674_0.questContentRowIndex;
let c29648_5 = c25674_0.impressionId;
let c29648_6 = c25674_0.clickId;
let c29648_7 = c25674_0.trackGuildAndChannelMetadata;
let c29648_8 = c25674_0.sourceQuestContent;
await void 0;
let c29648_9 = getAdTrafficMetadataSealed(c29648_8, c29648_0);
let c25674_8 = trackQuestEvent;
const r60 = {};
let c25674_5 = r60;
r60.questId = c29648_0;
r60.event = AnalyticEvents.QUEST_CONTENT_CLICKED;
const properties = {};
HermesBuiltin.copyDataProperties(properties, await (0, getCommonClickEventProperties)({
questContent: c29648_1,
questContentPosition: c29648_3,
questContentRowIndex: c29648_4,
questContentCTA: c29648_2,
impressionId: c29648_5,
clickId: c29648_6
}));
let adMetadataSealed = getAdMetadataSealed(c29648_8);
if (adMetadataSealed == null) {
adMetadataSealed = null;
}
properties.metadata_sealed = adMetadataSealed;
let traffic_metadata_sealed = c29648_9;
if (c29648_9 == null) {
traffic_metadata_sealed = null;
}
properties.traffic_metadata_sealed = traffic_metadata_sealed;
const uuid2 = getCurrentQuestHomeSearchSession()?.uuid;
let uuid = uuid2;
if (uuid2 == null) {
uuid = null;
}
properties.search_session_id = uuid;
c25674_5.properties = properties;
c25674_5.trackGuildAndChannelMetadata = c29648_7;
c25674_5.shouldExtendSession = isBillableQuestContent(c29648_1);
c25674_5.sourceQuestContent = c29648_8;
c25674_8(c25674_5);
}
export async function trackAdContentClicked(c25675_0) {
let c25675_3;
c25675_3 = void 0;
let c29649_0 = c25675_0.adContentId;
let c29649_1 = c25675_0.relatedQuestId;
let c29649_2 = c25675_0.adCreativeType;
let c29649_3 = c25675_0.questContent;
let c29649_4 = c25675_0.questContentCTA;
let c29649_5 = c25675_0.questContentPosition;
let c29649_6 = c25675_0.questContentRowIndex;
let c29649_7 = c25675_0.impressionId;
let c29649_8 = c25675_0.trackGuildAndChannelMetadata;
let c29649_9 = c25675_0.sourceQuestContent;
await void 0;
let c25675_2 = trackAdContentEvent;
const r12 = {};
let c25675_1 = r12;
r12.adContentId = c29649_0;
r12.relatedQuestId = c29649_1;
r12.adCreativeType = c29649_2;
r12.event = AnalyticEvents.QUEST_CONTENT_CLICKED;
const properties2 = await (0, getCommonClickEventProperties)({
questContent: c29649_3,
questContentPosition: c29649_5,
questContentRowIndex: c29649_6,
questContentCTA: c29649_4,
impressionId: c29649_7
});
c25675_1.properties = properties2;
c25675_1.trackGuildAndChannelMetadata = c29649_8;
c25675_1.shouldExtendSession = isBillableQuestContent(c29649_3);
c25675_1.sourceQuestContent = c29649_9;
c25675_2(c25675_1);
}
export function trackBountyCarouselScroll({ scrollingType, scrollingDirection, carouselPosition, questContent }) {
let uuid2 = getOrRefreshAdSession().uuid;
const BOUNTY_CAROUSEL_SCROLL = AnalyticEvents.BOUNTY_CAROUSEL_SCROLL;
const r24 = {
client_ad_session_id: uuid2,
billing_session_id: null,
scrolling_type: null,
scrolling_direction: null,
carousel_position: null,
content_name: null
};
if (!isBillableQuestContent(questContent)) {
let r31 = getActiveSessionUnsafe()?.uuid;
if (r31 == null) {
r31 = null;
}
uuid2 = r31;
}
r24.billing_session_id = uuid2;
r24.scrolling_type = scrollingType;
r24.scrolling_direction = scrollingDirection;
r24.carousel_position = carouselPosition;
r24.content_name = getQuestContentName(questContent);
AnalyticsUtils.track(BOUNTY_CAROUSEL_SCROLL, r24);
}
export function trackQuestHomeOrbShopCarouselViewed(a0) {
AnalyticsUtils.track(AnalyticEvents.QUEST_HOME_ORB_SHOP_CAROUSEL_VIEWED, {
obtainable_orb_rewards: a0.obtainableOrbRewards,
carousel_size: a0.carouselSize,
is_placeholder_carousel: a0.isPlaceholderCarousel
});
}
export function trackQuestHomeOrbShopCarouselScroll(a0) {
AnalyticsUtils.track(AnalyticEvents.QUEST_HOME_ORB_SHOP_CAROUSEL_SCROLL, {
scrolling_direction: a0.scrollingDirection,
carousel_position: a0.carouselPosition,
carousel_size: a0.carouselSize
});
}
export function trackBountyCarouselEmptyStateViewed(a0) {
let uuid2 = getOrRefreshAdSession().uuid;
const BOUNTY_CAROUSEL_EMPTY_STATE_VIEWED = AnalyticEvents.BOUNTY_CAROUSEL_EMPTY_STATE_VIEWED;
const r20 = {
client_ad_session_id: uuid2,
billing_session_id: null,
reason: null
};
if (!isBillableQuestContent(QuestContent.QUEST_HOME_MOBILE_CAROUSEL)) {
let r30 = getActiveSessionUnsafe()?.uuid;
if (r30 == null) {
r30 = null;
}
uuid2 = r30;
}
r20.billing_session_id = uuid2;
r20.reason = a0;
AnalyticsUtils.track(BOUNTY_CAROUSEL_EMPTY_STATE_VIEWED, r20);
}
export function trackBountyVerticalScroll({ scrollingType, scrollingDirection, verticalScrollingPosition, scrollSessionId, timeWatchedPreScrollMs }) {
const uuid2 = getOrRefreshAdSession().uuid;
const BOUNTY_VERTICAL_SCROLL = AnalyticEvents.BOUNTY_VERTICAL_SCROLL;
let billing_session_id = getActiveSessionUnsafe()?.uuid;
if (billing_session_id == null) {
billing_session_id = null;
}
AnalyticsUtils.track(BOUNTY_VERTICAL_SCROLL, {
client_ad_session_id: uuid2,
billing_session_id,
scrolling_type: scrollingType,
scrolling_direction: scrollingDirection,
vertical_scrolling_position: verticalScrollingPosition,
scroll_session_id: scrollSessionId,
time_watched_pre_scroll_ms: timeWatchedPreScrollMs
});
}
export function trackBountyAutoScrollDismissed({ verticalScrollingPosition, scrollSessionId }) {
const uuid2 = getOrRefreshAdSession().uuid;
const BOUNTY_AUTO_SCROLL_DISMISSED = AnalyticEvents.BOUNTY_AUTO_SCROLL_DISMISSED;
let billing_session_id = getActiveSessionUnsafe()?.uuid;
if (billing_session_id == null) {
billing_session_id = null;
}
AnalyticsUtils.track(BOUNTY_AUTO_SCROLL_DISMISSED, {
client_ad_session_id: uuid2,
billing_session_id,
vertical_scrolling_position: verticalScrollingPosition,
scroll_session_id: scrollSessionId
});
}
export function trackQuestHomeCarouselScroll({ scrollingType, scrollingDirection, scrollWindowStartIndex, scrollWindowEndIndex, scrollWindowSize, questContent, carouselSize }) {
let uuid2 = getOrRefreshAdSession().uuid;
const QUEST_HOME_CAROUSEL_SCROLL = AnalyticEvents.QUEST_HOME_CAROUSEL_SCROLL;
const r26 = {
scrolling_type: scrollingType,
client_ad_session_id: uuid2,
billing_session_id: null,
scrolling_direction: null,
scroll_window_start_index: null,
scroll_window_end_index: null,
scroll_window_size: null,
content_name: null,
content_id: null,
carousel_size: null
};
if (!isBillableQuestContent(questContent)) {
let r34 = getActiveSessionUnsafe()?.uuid;
if (r34 == null) {
r34 = null;
}
uuid2 = r34;
}
r26.billing_session_id = uuid2;
r26.scrolling_direction = scrollingDirection;
r26.scroll_window_start_index = scrollWindowStartIndex;
r26.scroll_window_end_index = scrollWindowEndIndex;
r26.scroll_window_size = scrollWindowSize;
r26.content_name = getQuestContentName(questContent);
r26.content_id = questContent;
r26.carousel_size = carouselSize;
AnalyticsUtils.track(QUEST_HOME_CAROUSEL_SCROLL, r26);
}
export function trackQuestHomeSearchEntered({ searchSessionId }) {
const uuid2 = getOrRefreshAdSession().uuid;
const QUEST_HOME_SEARCH_ENTERED = AnalyticEvents.QUEST_HOME_SEARCH_ENTERED;
let billing_session_id = getActiveSessionUnsafe()?.uuid;
if (billing_session_id == null) {
billing_session_id = null;
}
AnalyticsUtils.track(QUEST_HOME_SEARCH_ENTERED, {
client_ad_session_id: uuid2,
billing_session_id,
search_session_id: searchSessionId
});
}
export function trackQuestHomeSearchClosed({ searchSessionId, searchSessionDurationMs }) {
const uuid2 = getOrRefreshAdSession().uuid;
const QUEST_HOME_SEARCH_CLOSED = AnalyticEvents.QUEST_HOME_SEARCH_CLOSED;
let billing_session_id = getActiveSessionUnsafe()?.uuid;
if (billing_session_id == null) {
billing_session_id = null;
}
AnalyticsUtils.track(QUEST_HOME_SEARCH_CLOSED, {
client_ad_session_id: uuid2,
billing_session_id,
search_session_id: searchSessionId,
search_session_duration_ms: searchSessionDurationMs
});
}
export function trackQuestHomeSearchQuerySubmitted({ searchSessionId, searchQuery, searchQueryLength, resultsCount, hasResults }) {
const uuid2 = getOrRefreshAdSession().uuid;
const QUEST_HOME_SEARCH_QUERY_SUBMITTED = AnalyticEvents.QUEST_HOME_SEARCH_QUERY_SUBMITTED;
let billing_session_id = getActiveSessionUnsafe()?.uuid;
if (billing_session_id == null) {
billing_session_id = null;
}
AnalyticsUtils.track(QUEST_HOME_SEARCH_QUERY_SUBMITTED, {
client_ad_session_id: uuid2,
billing_session_id,
search_session_id: searchSessionId,
search_query: searchQuery,
search_query_length: searchQueryLength,
results_count: resultsCount,
has_results: hasResults
});
}
export function trackQuestBarOrDockModeChange({ questContent, sourceQuestContent, questId, mode, prevMode }) {
const contentProperties = getContentProperties(questContent);
trackQuestEvent({
questId,
event: AnalyticEvents.QUEST_BAR_MODE_CHANGED,
properties: {
content_id: contentProperties.content_id,
content_name: contentProperties.content_name,
mode,
previous_mode: prevMode
},
sourceQuestContent
});
}
export function trackQuestEmbedFallbackViewed(a0, a1) {
AppAnalyticsUtils.trackWithMetadata(AnalyticEvents.QUEST_EMBED_FALLBACK_VIEWED, {
quest_id: a0,
reason: a1
});
}
@@ -0,0 +1,199 @@
// Metro module 10966 (f10967).
import { useCallback, useEffect, useMemo } from "react";
import { AnalyticEvents } from "../../../../Constants";
import { useQuestImpression } from "./ContentImpressionTrackerHooks";
import { trackQuestEmbedFallbackViewed, trackBountyCarouselEmptyStateViewed, trackAdContentEvent } from "./AnalyticsActions";
import { getAdMetadataSealed, getAdTrafficMetadataSealed, isBillableQuestContent } from "../../utils/QuestDataUtils";
import { getAdUser } from "../../../ads/utils/AdDataUtils.android";
import { getQuestContentName, getContentProperties } from "./AnalyticsTypes";
import getDeviceMetadata_native from "../../../device/getDeviceMetadata.native";
import { v4 } from "../../../../_bundle/Module514";
import { isIOS, isAndroid } from "../../../../utils/PlatformUtils";
import { getCurrentQuestHomeSearchSession } from "./QuestHomeSearchSession";
import { QuestContent } from "../../QuestTypes";
import { AdCreativeType } from "../../../../_bundle/Module6013";
import AnalyticsUtils from "../../../../utils/AnalyticsUtils";
function $mk85992($env) {
return (a0) => {
const r2 = $env.$parent;
const r4 = (0, r2[0])(r2[2][3]);
const r8 = $env[0];
r4.trackQuestEvent({
...a0,
properties: {
...a0.properties,
impression_id: r8 == null ? void 0 : r8.getId()
}
});
};
}
function $mk85993($env) {
return (a0) => {
const r2 = $env.$parent;
const r4 = (0, r2[0])(r2[2][3]);
const r8 = $env[0];
r4.trackAdContentEvent({
...a0,
properties: {
...a0.properties,
impression_id: r8 == null ? void 0 : r8.getId()
}
});
};
}
let env7388 = {};
export function useTrackQuestEventWithImpression() {
let env18407;
const r1 = env18407 = {
$parent: env7388
};
const questImpression = useQuestImpression();
env18407[0] = questImpression;
return useCallback($mk85992(r1), [questImpression]);
}
export function useTrackQuestContentClickedWithImpression() {
let env18410;
const r2 = env18410 = {
$parent: env7388
};
const questImpression = useQuestImpression();
env18410[0] = questImpression;
const callback = useCallback($mk85992(r2), [questImpression]);
return useCallback(({ questId, questContent, questContentCTA, questContentPosition, questContentRowIndex, trackGuildAndChannelMetadata, sourceQuestContent }) => {
const adMetadataSealed = getAdMetadataSealed(sourceQuestContent);
const adTrafficMetadataSealed = getAdTrafficMetadataSealed(sourceQuestContent, questId);
getAdUser(getQuestContentName(questContent)).then((result) => {
const properties = {
...getContentProperties(questContent, questContentPosition, questContentRowIndex),
...getDeviceMetadata_native(),
cta_name: questContentCTA,
click_id: v4(),
apple_advertising_id: result != null ? isIOS() ? result.advertisingId : null : null,
android_advertising_id: result != null ? isAndroid() ? result.advertisingId : null : null,
metadata_sealed: adMetadataSealed != null ? adMetadataSealed : null,
traffic_metadata_sealed: adTrafficMetadataSealed != null ? adTrafficMetadataSealed : null
};
let search_session_id = getCurrentQuestHomeSearchSession()?.uuid;
if (search_session_id == null) {
search_session_id = null;
}
properties.search_session_id = search_session_id;
callback({
questId,
event: AnalyticEvents.QUEST_CONTENT_CLICKED,
properties,
trackGuildAndChannelMetadata,
shouldExtendSession: isBillableQuestContent(questContent),
sourceQuestContent
});
});
}, [callback]);
}
export function useTrackAdContentEventWithImpression() {
let env18408;
const r1 = env18408 = {
$parent: env7388
};
const questImpression = useQuestImpression();
env18408[0] = questImpression;
return useCallback($mk85993(r1), [questImpression]);
}
export function useTrackAdContentClickedWithImpression() {
let env18412;
const r2 = env18412 = {
$parent: env7388
};
const questImpression = useQuestImpression();
env18412[0] = questImpression;
const callback2 = useCallback($mk85993(r2), [questImpression]);
return useCallback(({ adContentId, relatedQuestId, adCreativeType, questContent: questContent2, questContentCTA: questContentCTA2, questContentPosition: questContentPosition2, questContentRowIndex: questContentRowIndex2, trackGuildAndChannelMetadata: trackGuildAndChannelMetadata2, sourceQuestContent: sourceQuestContent2 }) => {
getAdUser(getQuestContentName(questContent2)).then((result) => {
const properties = {
...getContentProperties(questContent2, questContentPosition2, questContentRowIndex2),
...getDeviceMetadata_native(),
cta_name: questContentCTA2,
click_id: v4(),
apple_advertising_id: result != null ? isIOS() ? result.advertisingId : null : null,
android_advertising_id: result != null ? isAndroid() ? result.advertisingId : null : null
};
let search_session_id = getCurrentQuestHomeSearchSession()?.uuid;
if (search_session_id == null) {
search_session_id = null;
}
properties.search_session_id = search_session_id;
callback2({
adContentId,
relatedQuestId,
adCreativeType,
event: AnalyticEvents.QUEST_CONTENT_CLICKED,
properties,
trackGuildAndChannelMetadata: trackGuildAndChannelMetadata2,
shouldExtendSession: isBillableQuestContent(questContent2),
sourceQuestContent: sourceQuestContent2
});
});
}, [callback2]);
}
export function useQuestsEmbedFallbackAnalytics(a0, a1) {
useEffect(() => {
trackQuestEmbedFallbackViewed(a1, a0);
}, [a0, a1]);
}
export function useBountyCarouselEmptyStateAnalytics(a0) {
useEffect(() => {
if (a0 != null) {
trackBountyCarouselEmptyStateViewed(a0);
}
}, [a0]);
}
export function useQuestHomeEntrypointAnalyticsEvents({ questHomeHero, shouldShowQuestHomeHeroContent }) {
let callback3, callback4, callback5, callback6, callback7;
callback3 = void 0;
callback4 = void 0;
callback5 = void 0;
callback6 = void 0;
callback7 = void 0;
const QUEST_HOME_ENTRYPOINT_THEMED = shouldShowQuestHomeHeroContent ? QuestContent.QUEST_HOME_ENTRYPOINT_THEMED : QuestContent.QUEST_HOME_ENTRYPOINT;
const memo = useMemo(() => {
const contentProperties = getContentProperties(QUEST_HOME_ENTRYPOINT_THEMED);
delete contentProperties["row_index"];
return contentProperties;
}, [QUEST_HOME_ENTRYPOINT_THEMED]);
callback3 = useCallback((a0) => {
if (questHomeHero != null && shouldShowQuestHomeHeroContent) {
trackAdContentEvent({
adContentId: questHomeHero.id,
adCreativeType: AdCreativeType.QUEST_HOME_HERO,
event: a0,
properties: memo,
sourceQuestContent: QUEST_HOME_ENTRYPOINT_THEMED
});
} else {
AnalyticsUtils.track(a0, memo);
}
}, [questHomeHero, shouldShowQuestHomeHeroContent, QUEST_HOME_ENTRYPOINT_THEMED, memo]);
callback4 = useCallback(() => {
callback3(AnalyticEvents.QUEST_HOVER);
}, [callback3]);
callback5 = useCallback(() => {
callback3(AnalyticEvents.QUEST_HOVER_OFF);
}, [callback3]);
callback6 = useCallback(() => {
AnalyticsUtils.track(AnalyticEvents.QUEST_HOME_ONBOARDING_POPOVER_RENDERED);
}, []);
callback7 = useCallback(() => {
AnalyticsUtils.track(AnalyticEvents.QUEST_CONTENT_CLICKED, {
is_targeted: false,
...memo,
...questHomeHero != null ? {
ad_content_id: questHomeHero.id
} : {}
});
}, [memo, questHomeHero]);
return useMemo(() => ({
handleMouseEnter: callback4,
handleMouseLeave: callback5,
handleOnboardingPopoutRender: callback6,
handleEntrypointClick: callback7
}), [callback4, callback5, callback6, callback7]);
}
@@ -0,0 +1,131 @@
// Metro module 6012 (f6013).
import { QuestContent } from "../../QuestTypes";
function $mk77601($env) {
return (a0) => {
const r1 = $env.$parent;
return (0, r1[0])(r1[1][0]).QuestContent[a0] === $env[0];
};
}
let env3804 = {};
const c3804_2 = Object.keys(QuestContent);
const r19 = {
AUTO: "AUTO",
MANUAL: "MANUAL"
};
const r21 = {
LEFT: "LEFT",
RIGHT: "RIGHT"
};
const r24 = {
UP: "UP",
DOWN: "DOWN"
};
const r27 = {
ARROW: "ARROW",
AUTO: "AUTO",
MANUAL: "MANUAL"
};
const r28 = {
LEARN_MORE: "LEARN_MORE",
SHOW_REWARD: "SHOW_REWARD",
CLAIM_REWARD: "CLAIM_REWARD",
GET_REWARD_CODE: "GET_REWARD_CODE",
COPY_REWARD_CODE: "COPY_REWARD_CODE",
ACCEPT_QUEST: "ACCEPT_QUEST",
COPY_QUEST_URL: "COPY_QUEST_URL",
MOBILE_SHARESHEET: "MOBILE_SHARESHEET",
TRACK_PROGRESS: "TRACK_PROGRESS",
CONNECT_CONSOLE: "CONNECT_CONSOLE",
CONNECT_CONSOLE_LINK: "CONNECT_CONSOLE_LINK",
VIEW_CONSOLE_CONNECTIONS: "VIEW_CONSOLE_CONNECTION",
VIEW_CONSOLE_CONNECTIONS_LINK: "VIEW_CONSOLE_CONNECTIONS_LINK",
VIEW_REQUIREMENTS: "VIEW_REQUIREMENTS",
SELECT_CONSOLE_PLATFORM: "SELECT_CONSOLE_PLATFORM",
SELECT_DESKTOP_PLATFORM: "SELECT_DESKTOP_PLATFORM",
DESELECT_PLATFORM: "DESELECT_PLATFORM",
OPEN_ACCOUNT_LINK_MODAL: "OPEN_ACCOUNT_LINK_MODAL",
OPEN_ACCOUNT_LINK_INSTRUCTIONS: "OPEN_ACCOUNT_LINK_INSTRUCTIONS",
SELECT_IN_GAME_AUTH_METHOD: "SELECT_IN_GAME_AUTH_METHOD",
SELECT_WEB_AUTH_METHOD: "SELECT_WEB_AUTH_METHOD",
START_WEB_AUTHORIZATION: "START_WEB_AUTHORIZATION",
DEFIBRILLATOR: "DEFIBRILLATOR",
DEFIBRILLATOR_RECONNECT_CONSOLE: "DEFIBRILLATOR_RECONNECT_CONSOLE",
OPEN_DISCLOSURE: "OPEN_DISCLOSURE",
WATCH_STREAM: "WATCH_STREAM",
WATCH_STREAM_CONFIRM: "WATCH_STREAM_CONFIRM",
REWARD_LEARN_MORE: "REWARD_LEARN_MORE",
OPEN_GAME_LINK: "OPEN_GAME_LINK",
OPEN_CONTEXT_MENU: "OPEN_CONTEXT_MENU",
OPEN_QUEST_HOME: "OPEN_QUEST_HOME",
OPEN_QUEST_HOME_TO_CLAIM: "OPEN_QUEST_HOME_TO_CLAIM",
QUEST_BAR_COPY_LINK: "QUEST_BAR.COPY_LINK",
CONTEXT_MENU_COPY_LINK: "CONTEXT_MENU.COPY_LINK",
REWARD_MODAL_COPY_LINK: "REWARD_MODAL.COPY_LINK",
CONTEXT_MENU_HIDE_CONTENT: "CONTEXT_MENU.HIDE_CONTENT",
CONTEXT_MENU_OPEN_GAME_LINK: "CONTEXT_MENU.OPEN_GAME_LINK",
CONTEXT_MENU_OPEN_DISCLOSURE: "CONTEXT_MENU.OPEN_DISCLOSURE",
CONTEXT_MENU_LEARN_MORE: "CONTEXT_MENU.LEARN_MORE",
HOW_TO_HELP_ARTICLE_XBOX: "HOW_TO_HELP_ARTICLE_XBOX",
HOW_TO_HELP_ARTICLE_PLAYSTATION: "HOW_TO_HELP_ARTICLE_PLAYSTATION",
VIEW_QUESTS: "VIEW_QUESTS",
EXPAND: "EXPAND",
COLLAPSE: "COLLAPSE",
START_QUEST: "START_QUEST",
TRANSCRIPT_ENABLE: "TRANSCRIPT_ENABLE",
TRANSCRIPT_DISABLE: "TRANSCRIPT_DISABLE",
CLOSED_CAPTIONING_ENABLE: "CLOSED_CAPTIONING_ENABLE",
CLOSED_CAPTIONING_DISABLE: "CLOSED_CAPTIONING_DISABLE",
SEEK_BACKWARD: "SEEK_BACKWARD",
SEEK_FORWARD: "SEEK_FORWARD",
WATCH_VIDEO: "WATCH_VIDEO",
QUEST_BAR_VIDEO_QUEST_PREVIEW: "QUEST_BAR_VIDEO_QUEST_PREVIEW",
QUEST_HOME_TILE_HEADER_WATCH_VIDEO: "QUEST_HOME_TILE_HEADER_WATCH_VIDEO",
REDEEM_REWARD: "REDEEM_REWARD",
VISIT_REDEMPTION_LINK: "VISIT_REDEMPTION_LINK",
SPONSORED_QUEST_SHEET: "SPONSORED_QUEST_SHEET",
GAME_PROFILE_OPEN: "GAME_PROFILE_OPEN",
GAME_STORE_OPEN_GAME_LINK: "GAME_STORE_OPEN_GAME_LINK",
MOBILE_ORBS_ONBOARDING_DC: "MOBILE_ORBS_ONBOARDING_DC",
LAUNCH_MOBILE_ACTIVITY: "LAUNCH_MOBILE_ACTIVITY",
OPEN_NITRO_CHECKOUT: "OPEN_NITRO_CHECKOUT",
OPEN_NITRO_HOME: "OPEN_NITRO_HOME",
START_BOUNTY: "START_BOUNTY",
BACK_TO_BOUNTIES: "BACK_TO_BOUNTIES"
};
export function getQuestContentName(a0) {
let env15362;
const r1 = env15362 = {
$parent: env3804
};
env15362[0] = a0;
let r7 = c3804_2.find($mk77601(r1));
if (r7 == null) {
r7 = "";
}
return r7;
}
export function getQuestStatus(a0) {
return a0.userStatus?.claimedAt != null ? "COMPLETED_CLAIMED" : a0.userStatus?.completedAt != null ? "COMPLETED" : a0.userStatus?.enrolledAt != null ? "ENROLLED" : "NONE";
}
export function getContentProperties(a0, a1, a2) {
let env15363;
const r2 = env15363 = {
$parent: env3804
};
env15363[0] = a0;
let content_name = c3804_2.find($mk77601(r2));
if (content_name == null) {
content_name = "";
}
return {
content_id: a0,
content_name,
content_position: a1,
row_index: a2
};
}
export { r19 as BountyScrollingType };
export { r21 as HorizontalScrollingDirection };
export { r24 as VerticalScrollingDirection };
export { r27 as QuestHomeScrollingType };
export { r28 as QuestContentCTA };
@@ -0,0 +1,113 @@
// Metro module 8447 (f8448).
import { getVisibleChannelIdsMethod, getVisibleGuildIdsMethod } from "../../../guild_sidebar/SidebarVisibilityMethodStore";
import ChannelStore from "../../../../stores/ChannelStore";
import GuildStore from "../../../../stores/GuildStore";
import RelationshipStore from "../../../../stores/RelationshipStore";
import SelectedGuildStore from "../../../../stores/SelectedGuildStore";
import UserStore from "../../../../stores/UserStore";
import { MAX_BRAND_SAFETY_CONTEXT_ARRAY_LEN } from "./ContentImpressionTrackerConstants";
import * as _QuestDataUtils from "../../utils/QuestDataUtils";
import { getAdContext } from "../../utils/QuestDataUtils";
import AvatarUtils from "../../../../utils/AvatarUtils";
import { computeChannelName } from "../../../channel/useChannelName";
export function getBrandSafetyContext(a0) {
let guilds2;
const isBillableQuestContent = _QuestDataUtils.isBillableQuestContent(a0);
const adContext = getAdContext(a0);
const visibleGuildIdsMethod = getVisibleGuildIdsMethod();
const visibleChannelIdsMethod = getVisibleChannelIdsMethod();
if (adContext?.is_campaign_ias_enabled && isBillableQuestContent) {
const r5 = visibleGuildIdsMethod === void 0;
if (!r5) {
const r25 = visibleChannelIdsMethod === void 0;
if (!r25) {
const guildId = SelectedGuildStore.getGuildId();
const r29 = guildId != null ? GuildStore.getGuild(guildId) : null;
if (r5) {
guilds2 = [];
} else {
const r32 = visibleGuildIdsMethod();
const guilds = GuildStore.getGuilds();
guilds2 = r32.map((item) => {
const r7 = guilds[item];
if (r7 === void 0) {
return null;
}
const r11 = {
id: r7.id,
name: r7.name
};
if (r7.description !== null) {
r11.description = r7.description;
}
const icon = r7.icon;
let icon_url = null;
if (icon !== null) {
let r22 = AvatarUtils.getGuildIconURL({
id: r7.id,
icon: r7.icon,
size: 44,
canAnimate: true
});
if (r22 == null) {
r22 = null;
}
icon_url = r22;
}
if (icon_url !== null) {
r11.icon_url = icon_url;
}
return r11;
}).filter((item) => item !== null);
}
const r41 = {
guilds: guilds2,
channels: !r25 && r29 != null ? visibleChannelIdsMethod().map((item) => {
const channel = ChannelStore.getChannel(item);
if (channel === void 0) {
return null;
}
const r10 = {
id: channel.id,
name: computeChannelName(channel, UserStore, RelationshipStore)
};
if (channel.topic.length > 0) {
r10.channel_topic = channel.topic;
}
return r10;
}).filter((item) => item !== null) : []
};
if (guildId != null) {
r41.selected_guild_id = guildId;
}
const r51 = r29?.banner != null;
let selected_guild_banner_url = null;
if (r51) {
let r61 = AvatarUtils.getGuildBannerURL({
id: r29.id,
banner: r29.banner
}, true);
if (r61 == null) {
r61 = null;
}
selected_guild_banner_url = r61;
}
if (selected_guild_banner_url !== null) {
r41.selected_guild_banner_url = selected_guild_banner_url;
}
if (r41.guilds.length > MAX_BRAND_SAFETY_CONTEXT_ARRAY_LEN) {
r41.guilds = r41.guilds.slice(0, MAX_BRAND_SAFETY_CONTEXT_ARRAY_LEN);
r41.truncated = true;
}
if (r41.channels.length > MAX_BRAND_SAFETY_CONTEXT_ARRAY_LEN) {
r41.channels = r41.channels.slice(0, MAX_BRAND_SAFETY_CONTEXT_ARRAY_LEN);
r41.truncated = true;
}
return {
brand_safety_context: JSON.stringify(r41)
};
}
}
}
return null;
}
@@ -0,0 +1,453 @@
// Metro module 10497 (f10498).
import { createContext, useRef, useEffect } from "react";
import QuestStore from "../../QuestStore";
import { HEARTBEAT_SECONDS, MIN_QUEST_VIEW_TIME_SECONDS, MIN_QUEST_CONTENT_VISIBILITY_PERCENTAGE } from "./ContentImpressionTrackerConstants";
import { AnalyticEvents } from "../../../../Constants";
import { jsx } from "react/jsx-runtime";
import { v4 } from "../../../../_bundle/Module514";
import { shouldMigrateToAdAnalyticsInterface, AdAnalyticsInterfaceExperimentStep } from "../../experiments/AdAnalyticsInterfaceExperiment";
import { getAdMetadataSealed, isQuestExpired, isBillableQuestContent, getAdTrafficMetadataSealed, getQuestPlacementFromQuestContent } from "../../utils/QuestDataUtils";
import { AdCreativeType } from "../../../../_bundle/Module6013";
import { getAdUser } from "../../../ads/utils/AdDataUtils.android";
import { getQuestContentName, getContentProperties } from "./AnalyticsTypes";
import { isIOS, isAndroid } from "../../../../utils/PlatformUtils";
import getDeviceMetadata_native from "../../../device/getDeviceMetadata.native";
import { getBrandSafetyContext } from "./BrandSafetyContext";
import { markAdContentSeen } from "../../QuestActionCreators";
import { captureAdUserAction } from "../../../ads/analytics/captureAdUserAction";
import { AdUserActionType } from "../../../ads/analytics/captureAdUserActionTypes";
import { getQuestLogger } from "../getQuestLogger";
import { trackQuestEvent, trackAdContentEvent } from "./AnalyticsActions";
import { getCurrentQuestHomeSearchSession } from "./QuestHomeSearchSession";
import MonitoringAgent from "../../../monitoring/MonitoringAgent";
import { MetricEvents } from "../../../../_bundle/Module5872";
import { useQuestStatusChanged } from "./ContentImpressionTrackerHooks";
import { useStateFromStores } from "../../../../_bundle/Module589";
import useMountEffect from "../../../../hooks/useMountEffect";
function $mk118168($env) {
return (a0, a1) => {
const r10 = $env;
const r32 = $env.$parent[0];
let metadata_sealed = getAdMetadataSealed(r32.sourceQuestContent, a0);
const shouldExtendSession2 = r32.shouldExtendSession(a0);
r32.trackViewedPlacement(a0);
const migrateQuestContentViewedToCaptureAdUserAction = r32.migrateQuestContentViewedToCaptureAdUserAction;
const adCreativeType = r32.entity.adCreativeType;
const QUEST = AdCreativeType.QUEST;
if (migrateQuestContentViewedToCaptureAdUserAction) {
if (adCreativeType === QUEST) {
const r151 = r32.entity.adContentIds[a1];
const quest2 = QuestStore.getQuest(r151);
if (!(quest2 == null || isQuestExpired(quest2))) {
markAdContentSeen(AdCreativeType.QUEST, [r151]);
}
}
r32.entity.adCreativeType;
AdCreativeType.QUEST;
const r177 = {
adCreativeType: r32.entity.adCreativeType,
adCreativeId: r32.entity.adContentIds[a1]
};
captureAdUserAction({
type: isBillableQuestContent(r32.questContent) ? AdUserActionType.VIEW_EXTERNAL_PAID_AD_PLACEMENT_IMPRESSION : AdUserActionType.VIEW_INTERNAL_SURFACE_IMPRESSION,
surfaceId: r32.questContent,
sourceQuestContent: r32.sourceQuestContent,
impressionId: r32.id,
triggeredByStatusChange: r32.triggeredByStatusChange,
minViewTimeSeconds: r32.minViewTimeSeconds,
minViewportPercentage: r32.minViewportPercentage,
isQuestEnrollmentBlocked: r32.isQuestEnrollmentBlocked,
shouldExtendSession: shouldExtendSession2,
adUser: r10[0],
questContentPosition: r32.questContentPosition,
questContentRowIndex: r32.questContentRowIndex,
trackGuildAndChannelMetadata: r32.trackGuildAndChannelMetadata,
...r177
});
getQuestLogger().info(`${a0} ad content viewed for at least ${r32.minViewTimeSeconds}s at ${getQuestContentName(r32.questContent)}`, {
impressionId: r32.id
});
return void 0;
}
if (adCreativeType === QUEST) {
const questId = r32.entity.adContentIds[a1];
const quest = QuestStore.getQuest(questId);
if (!(quest == null || isQuestExpired(quest))) {
markAdContentSeen(AdCreativeType.QUEST, [questId]);
}
const questLogger = getQuestLogger();
let r24 = quest == null ? void 0 : quest.config.messages.questName;
if (r24 == null) {
r24 = questId;
}
questLogger.info(`${r24} Quest viewed for at least ${r32.minViewTimeSeconds}s at ${getQuestContentName(r32.questContent)}`, {
impressionId: r32.id
});
const properties = {
...r10[2],
...r32.commonProperties()
};
if (metadata_sealed == null) {
metadata_sealed = null;
}
properties.metadata_sealed = metadata_sealed;
let search_session_id = getCurrentQuestHomeSearchSession()?.uuid;
if (search_session_id == null) {
search_session_id = null;
}
properties.search_session_id = search_session_id;
let traffic_metadata_sealed = getAdTrafficMetadataSealed(r32.sourceQuestContent, quest?.id);
if (traffic_metadata_sealed == null) {
traffic_metadata_sealed = null;
}
properties.traffic_metadata_sealed = traffic_metadata_sealed;
trackQuestEvent({
...r10[1],
shouldExtendSession: shouldExtendSession2,
questId,
event: AnalyticEvents.QUEST_CONTENT_VIEWED,
properties
});
} else {
const adContentId = r32.entity.adContentIds[a1];
getQuestLogger().info(`${adContentId} ad content viewed for at least ${r32.minViewTimeSeconds}s at ${getQuestContentName(r32.questContent)}`, {
impressionId: r32.id
});
trackAdContentEvent({
...r10[1],
shouldExtendSession: shouldExtendSession2,
adContentId,
adCreativeType: r32.entity.adCreativeType,
event: AnalyticEvents.QUEST_CONTENT_VIEWED,
properties: {
...r10[2],
...r32.commonProperties()
}
});
}
};
}
let QuestContentImpression, c7042_13;
let env7042 = {};
const c7042_11 = new Set();
const c7042_14 = class QuestContentImpression {
constructor(a0) {
let env18074;
const _this = this;
this.isRunning = false;
this.trackViewedPlacement = (a0) => {
const questPlacementFromQuestContent = getQuestPlacementFromQuestContent(_this.questContent);
if (questPlacementFromQuestContent != null && isBillableQuestContent(_this.questContent)) {
c7042_11.add(`${a0}_${questPlacementFromQuestContent}`);
}
};
this.shouldExtendSession = (a0) => {
const questPlacementFromQuestContent = getQuestPlacementFromQuestContent(_this.questContent);
return questPlacementFromQuestContent != null && !c7042_11.has(`${a0}_${questPlacementFromQuestContent}`) && isBillableQuestContent(_this.questContent);
};
env18074 = {
$parent: env7042
};
env18074[0] = this;
this.onMinViewTimeReached = async () => {
let env31534;
const r25 = env18074;
let c30234_1 = r25;
const r9 = env31534 = {
$parent: r25
};
let c30234_0 = r9;
env31534[0] = void 0;
env31534[1] = void 0;
env31534[2] = void 0;
env31534[0] = await getAdUser(getQuestContentName(env18074[0].questContent));
env31534[1] = {
trackGuildAndChannelMetadata: env18074[0].trackGuildAndChannelMetadata,
sourceQuestContent: env18074[0].sourceQuestContent
};
const apple_advertising_id = env31534[0] != null ? isIOS() ? env31534[0].advertisingId : null : null;
const android_advertising_id = env31534[0] != null ? isAndroid() ? env31534[0].advertisingId : null : null;
env31534[2] = {
min_view_time_seconds: env18074[0].minViewTimeSeconds,
min_viewport_percentage: env18074[0].minViewportPercentage,
triggered_by_status_change: env18074[0].triggeredByStatusChange,
apple_advertising_id,
android_advertising_id,
...getDeviceMetadata_native(),
...getBrandSafetyContext(env18074[0].questContent)
};
env18074[0].entity.adContentIds.forEach($mk118168(c30234_0));
const r108 = env18074[0];
const onImpressionCallback = r108.onImpressionCallback;
if (onImpressionCallback != null) {
onImpressionCallback.call(r108);
}
};
this.beat = function beat(is_termination_beat = false) {
let c26698_1, c26698_2, c26698_3;
let c26698_0 = is_termination_beat;
c26698_1 = void 0;
c26698_2 = void 0;
c26698_3 = void 0;
if (_this.lastBeatTime != null) {
const viewed_time_ms = Math.round(Date.now() - _this.lastBeatTime);
c26698_1 = viewed_time_ms;
c26698_2 = {
trackGuildAndChannelMetadata: _this.trackGuildAndChannelMetadata,
sourceQuestContent: _this.sourceQuestContent
};
c26698_3 = {
is_termination_beat,
viewed_time_ms,
triggered_by_status_change: _this.triggeredByStatusChange
};
_this.entity.adContentIds.forEach((a0, index) => {
if (_this.entity.adCreativeType === AdCreativeType.QUEST) {
const questId = _this.entity.adContentIds[index];
const quest = QuestStore.getQuest(questId);
const questLogger = getQuestLogger();
let r73 = quest == null ? void 0 : quest.config.messages.questName;
if (r73 == null) {
r73 = questId;
}
questLogger.info(`${r73} Quest impression ${c26698_0 ? "terminal " : ""}heartbeat: ${c26698_1}ms since last heartbeat`, {
impressionId: _this.id
});
trackQuestEvent({
...c26698_2,
questId,
event: AnalyticEvents.QUEST_CONTENT_VIEW_TIME,
properties: {
...c26698_3,
..._this.commonProperties()
}
});
} else {
const adContentId = _this.entity.adContentIds[index];
getQuestLogger().info(`${adContentId} ad content impression ${c26698_0 ? "terminal " : ""}heartbeat: ${c26698_1}ms since last heartbeat`, {
impressionId: _this.id
});
trackAdContentEvent({
...c26698_2,
adContentId,
adCreativeType: _this.entity.adCreativeType,
event: AnalyticEvents.QUEST_CONTENT_VIEW_TIME,
properties: {
...c26698_3,
..._this.commonProperties()
}
});
}
});
}
_this.lastBeatTime = Date.now();
};
this.commonProperties = () => ({
impression_id: _this.id,
is_quest_enrollment_blocked: _this.isQuestEnrollmentBlocked,
...getContentProperties(_this.questContent, _this.questContentPosition, _this.questContentRowIndex)
});
this.clone = ({ triggeredByStatusChange }) => {
_this.stop();
return new c7042_14({
questContent: _this.questContent,
questContentRowIndex: _this.questContentRowIndex,
questContentPosition: _this.questContentPosition,
trackGuildAndChannelMetadata: _this.trackGuildAndChannelMetadata,
triggeredByStatusChange,
isQuestEnrollmentBlocked: _this.isQuestEnrollmentBlocked,
onImpression: _this.onImpressionCallback,
sourceQuestContent: _this.sourceQuestContent,
..._this.entity
});
};
this.start = () => {
let c26699_0, c26699_1;
_this.stop(false);
_this.lastBeatTime = Date.now();
_this.heartbeatTimeoutId = window.setInterval(() => _this.beat(), 1000 * HEARTBEAT_SECONDS);
_this.minViewTimeReachedTimeoutId = window.setTimeout(_this.onMinViewTimeReached, 1000 * _this.minViewTimeSeconds);
c26699_0 = {
trackGuildAndChannelMetadata: _this.trackGuildAndChannelMetadata,
sourceQuestContent: _this.sourceQuestContent
};
c26699_1 = {
triggered_by_status_change: _this.triggeredByStatusChange
};
_this.entity.adContentIds.forEach((a0, index) => {
let metadata_sealed = getAdMetadataSealed(_this.sourceQuestContent, a0);
const migrateQuestContentLoadedToCaptureAdUserAction = _this.migrateQuestContentLoadedToCaptureAdUserAction;
const adCreativeType = _this.entity.adCreativeType;
const QUEST = AdCreativeType.QUEST;
if (migrateQuestContentLoadedToCaptureAdUserAction) {
captureAdUserAction({
type: AdUserActionType.END_CONTENT_LOAD,
surfaceId: _this.questContent,
sourceQuestContent: _this.sourceQuestContent,
impressionId: _this.id,
triggeredByStatusChange: _this.triggeredByStatusChange,
trackGuildAndChannelMetadata: _this.trackGuildAndChannelMetadata,
questContentPosition: _this.questContentPosition,
questContentRowIndex: _this.questContentRowIndex,
...{
adCreativeType: _this.entity.adCreativeType,
adCreativeId: _this.entity.adContentIds[index]
}
});
} else if (adCreativeType === QUEST) {
const questId = _this.entity.adContentIds[index];
const quest = QuestStore.getQuest(questId);
const questLogger = getQuestLogger();
let r18 = quest == null ? void 0 : quest.config.messages.questName;
if (r18 == null) {
r18 = questId;
}
questLogger.info(`${r18} Quest became visible at ${getQuestContentName(_this.questContent)}`, {
impressionId: _this.id
});
if (metadata_sealed == null) {
metadata_sealed = null;
}
const properties = {
...c26699_1,
metadata_sealed,
..._this.commonProperties()
};
let traffic_metadata_sealed = getAdTrafficMetadataSealed(_this.sourceQuestContent, quest?.id);
if (traffic_metadata_sealed == null) {
traffic_metadata_sealed = null;
}
properties.traffic_metadata_sealed = traffic_metadata_sealed;
trackQuestEvent({
...c26699_0,
questId,
event: AnalyticEvents.QUEST_CONTENT_LOADED,
properties
});
} else {
const adContentId = _this.entity.adContentIds[index];
getQuestLogger().info(`${adContentId} ad content became visible at ${getQuestContentName(_this.questContent)}`, {
impressionId: _this.id
});
trackAdContentEvent({
...c26699_0,
adContentId,
adCreativeType: _this.entity.adCreativeType,
event: AnalyticEvents.QUEST_CONTENT_LOADED,
properties: {
...c26699_1,
..._this.commonProperties()
}
});
}
});
MonitoringAgent.increment({
name: MetricEvents.QUEST_CONTENT_IMPRESSION,
tags: [`quest_content:${getQuestContentName(_this.questContent)}`]
});
_this.isRunning = true;
};
this.stop = function stop(r3 = true) {
if (r3) {
_this.beat(true);
}
_this.lastBeatTime = void 0;
clearInterval(_this.heartbeatTimeoutId);
clearTimeout(_this.minViewTimeReachedTimeoutId);
_this.isRunning = false;
};
const { adContentIds, adCreativeType, questContent, triggeredByStatusChange, trackGuildAndChannelMetadata, questContentPosition, questContentRowIndex, minViewTimeSeconds = MIN_QUEST_VIEW_TIME_SECONDS, isQuestEnrollmentBlocked, onImpression, sourceQuestContent: sourceQuestContent2 } = a0;
this.id = v4();
this.questContent = questContent;
this.questContentPosition = questContentPosition;
this.minViewTimeSeconds = minViewTimeSeconds;
this.minViewportPercentage = MIN_QUEST_CONTENT_VISIBILITY_PERCENTAGE;
this.trackGuildAndChannelMetadata = trackGuildAndChannelMetadata;
this.triggeredByStatusChange = triggeredByStatusChange;
this.questContentRowIndex = questContentRowIndex;
this.isQuestEnrollmentBlocked = isQuestEnrollmentBlocked;
this.onImpressionCallback = onImpression;
this.sourceQuestContent = sourceQuestContent2;
this.migrateQuestContentLoadedToCaptureAdUserAction = shouldMigrateToAdAnalyticsInterface(AdAnalyticsInterfaceExperimentStep.STEP_1_LOADED, "quest_content_impression");
this.migrateQuestContentViewedToCaptureAdUserAction = shouldMigrateToAdAnalyticsInterface(isBillableQuestContent(questContent) ? AdAnalyticsInterfaceExperimentStep.STEP_5_VIEWED_IMPRESSION : AdAnalyticsInterfaceExperimentStep.STEP_4_VIEWED_NON_IMPRESSION, "quest_content_impression");
AdCreativeType.QUEST;
this.entity = {
adContentIds,
adCreativeType
};
}
getId() {
return this.id;
}
getQuestContentPosition() {
return this.questContentPosition;
}
};
QuestContentImpression = c7042_14;
const context = createContext(void 0);
c7042_13 = context;
export { c7042_14 as QuestContentImpression };
export { context as QuestImpressionContext };
export function QuestContentImpressionTracker(a0) {
const { visible, visibleChanged, focused, reference, focusedChanged, sourceQuestContent } = a0;
const questStatusChanged = useQuestStatusChanged(a0);
const ref = useRef(null);
const stateFromStores = useStateFromStores([QuestStore], () => QuestStore.questEnrollmentBlockedUntil != null, []);
useMountEffect(() => () => {
if (ref.current != null) {
ref.current.stop();
}
});
useEffect(() => {
let r5 = focused;
if (focused) {
r5 = visible;
}
let r4 = visibleChanged;
const r2 = ((visibleChanged ? visibleChanged : focusedChanged) || questStatusChanged) && r5;
let r3 = r2;
if (!r3) {
if (!visibleChanged) {
r4 = focusedChanged;
}
if (r4) {
r4 = !r5;
}
r3 = r4;
}
if (!r3) {
r3 = questStatusChanged;
}
if (r3) {
r3 = ref.current != null;
}
if (r3) {
ref.current.stop();
}
if (r2) {
const r19 = {
isQuestEnrollmentBlocked: stateFromStores,
minViewTimeSeconds: a0.minViewTimeSeconds,
onImpression: a0.onImpression,
questContent: a0.questContent,
questContentPosition: a0.questContentPosition,
questContentRowIndex: a0.questContentRowIndex,
sourceQuestContent,
trackGuildAndChannelMetadata: a0.trackGuildAndChannelMetadata,
triggeredByStatusChange: questStatusChanged
};
a0.adCreativeType;
AdCreativeType.QUEST;
ref.current = new QuestContentImpression({
...r19,
adContentIds: a0.adContentIds,
adCreativeType: a0.adCreativeType
});
ref.current.start();
}
}, [focused, visible, focusedChanged, visibleChanged, a0.adContentIds, a0.onImpression, a0.questContent, a0.questContentPosition, a0.questContentRowIndex, a0.trackGuildAndChannelMetadata, questStatusChanged, a0.minViewTimeSeconds, stateFromStores, sourceQuestContent, a0.adCreativeType]);
return (0, jsx)(c7042_13.Provider, {
value: ref,
children: a0.children(reference, ref)
});
}
@@ -0,0 +1,5 @@
// Metro module 8449 (f8450).
export const MAX_BRAND_SAFETY_CONTEXT_ARRAY_LEN = 100;
export const HEARTBEAT_SECONDS = 60;
export const MIN_QUEST_VIEW_TIME_SECONDS = 1;
export const MIN_QUEST_CONTENT_VISIBILITY_PERCENTAGE = 0.5;
@@ -0,0 +1,54 @@
// Metro module 10496 (f10497).
import { useMemo, useContext, useCallback } from "react";
import QuestStore from "../../QuestStore";
import { AdCreativeType } from "../../../../_bundle/Module6013";
import { useStateFromStores } from "../../../../_bundle/Module589";
import { getQuestStatus } from "./AnalyticsTypes";
import usePrevious from "../../../../hooks/usePrevious";
import { QuestImpressionContext } from "./ContentImpressionTracker";
export function useAdContentImpressionTrackerProps(a0) {
let QUEST;
const r11 = "questOrQuests" in a0 ? a0.questOrQuests : void 0;
const r10 = "adContentId" in a0 ? a0.adContentId : void 0;
const questOrQuests = r11;
const adContentId = r10;
const memo = useMemo(() => adContentId != null ? [adContentId] : questOrQuests != null ? Array.isArray(questOrQuests) ? questOrQuests.map((questOrQuest) => questOrQuest.id) : [questOrQuests.id] : [], [questOrQuests, adContentId]);
QUEST = "questOrQuests" in a0 ? AdCreativeType.QUEST : a0.adCreativeType;
return useMemo(() => {
const questContent = a0.questContent;
const key = `${[...memo].sort().join("_")}_${questContent}`;
AdCreativeType.QUEST;
return {
adContentIds: memo,
adCreativeType: QUEST,
key
};
}, [memo, a0.questContent, QUEST]);
}
export function useQuestStatusChanged({ adContentIds, adCreativeType }) {
const stateFromStores = useStateFromStores([QuestStore], () => adCreativeType === AdCreativeType.QUEST ? adContentIds.length === 1 ? QuestStore.getQuest(adContentIds[0]) : null : null, [adContentIds, adCreativeType]);
const memo2 = useMemo(() => stateFromStores != null ? getQuestStatus(stateFromStores) : null, [stateFromStores]);
return memo2 !== usePrevious(memo2);
}
export function useQuestImpressionRef() {
return useContext(QuestImpressionContext);
}
export function useQuestImpression() {
return useContext(QuestImpressionContext)?.current;
}
export function useQuestImpressionId() {
const current = useContext(QuestImpressionContext)?.current;
return current == null ? void 0 : current.getId();
}
export function useGetQuestImpressionId() {
const context = useContext(QuestImpressionContext);
return useCallback(() => {
const r2 = context == null;
let r6 = void 0;
if (!r2) {
const current = context.current;
r6 = current == null ? void 0 : current.getId();
}
return r6;
}, [context]);
}
@@ -0,0 +1,34 @@
// Metro module 6019 (f6020).
import { v4 } from "../../../../_bundle/Module514";
import { CLIENT_SESSION_STORAGE_VERSION } from "../../../analytics_sessions/SessionUtils";
let searchSession = null;
export function getOrCreateQuestHomeSearchSession() {
let r14;
const createdAtTimestamp = Date.now();
if (searchSession == null) {
const searchSession2 = {
uuid: v4(),
createdAtTimestamp,
lastUsedTimestamp: createdAtTimestamp,
version: CLIENT_SESSION_STORAGE_VERSION
};
searchSession = searchSession2;
r14 = {
searchSession: searchSession2,
isNew: true
};
} else {
searchSession.lastUsedTimestamp = createdAtTimestamp;
r14 = {
searchSession,
isNew: false
};
}
return r14;
}
export function clearQuestHomeSearchSession() {
searchSession = null;
}
export function getCurrentQuestHomeSearchSession() {
return searchSession;
}
+23
View File
@@ -0,0 +1,23 @@
// Metro module 5991 (f5992).
import DeveloperOptionsStore from "../../../stores/DeveloperOptionsStore";
import { NOOP } from "../../../_bundle/Module505";
import Logger from "../../debug/Logger";
export function getQuestLogger(r5 = {}) {
const { quest, location: location2 } = r5;
const r10 = quest == null ? void 0 : quest.config.messages.questName;
const r17 = location2 != null;
let r9 = "";
const r8 = r17 ? `-${location2}` : "";
if (r10 != null) {
r9 = `-${r10})`;
}
const logger = new Logger(`QuestLogger${r8}${r9}`);
return {
log: DeveloperOptionsStore.isLoggingQuestEvents ? logger.log : NOOP,
warn: DeveloperOptionsStore.isLoggingQuestEvents ? logger.warn : NOOP,
error: DeveloperOptionsStore.isLoggingQuestEvents ? logger.error : NOOP,
info: DeveloperOptionsStore.isLoggingQuestEvents ? logger.info : NOOP,
verbose: DeveloperOptionsStore.isLoggingQuestEvents ? logger.verbose : NOOP,
trace: DeveloperOptionsStore.isLoggingQuestEvents ? logger.trace : NOOP
};
}