200 lines
7.7 KiB
TypeScript
200 lines
7.7 KiB
TypeScript
// 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]);
|
|
}
|