decord/source/modules/quests/lib/analytics/AnalyticsHooks.tsx

258 lines
11 KiB
TypeScript
Raw Normal View History

// Module ID: 11903
// Function ID: 11904
// Name: AnalyticsHooks
// Dependencies: [19, 1074, 11619, 7820, 7801, 7831, 7830, 7779, 1256, 1150, 7836, 5528, 5532, 1242, 2]
2026-07-29 08:29:29 +00:00
// Exports: useBountyCarouselEmptyStateAnalytics, useQuestHomeEntrypointAnalyticsEvents, useQuestsEmbedFallbackAnalytics, useTrackAdContentClickedWithImpression, useTrackAdContentEventWithImpression, useTrackQuestContentClickedWithImpression, useTrackQuestEventWithImpression
2026-07-20 16:05:17 +00:00
// Module 11903 (AnalyticsHooks)
import AnalyticsUtilsDefault from "AnalyticsUtils" /* 1242 */;
import v1 from "v1" /* 1256 */;
import AdCreativeType from "AdCreativeType" /* 5532 */;
import getDeviceMetadataDefault from "getDeviceMetadata" /* 7779 */;
import QuestDataUtils from "QuestDataUtils" /* 7801 */;
import AnalyticsActions from "AnalyticsActions" /* 7820 */;
import AnalyticsTypes from "AnalyticsTypes" /* 7830 */;
import QuestHomeSearchSession from "QuestHomeSearchSession" /* 7836 */;
import noop from "module_19" /* 19 */;
2026-07-23 10:11:24 +00:00
require = fn;
const AnalyticEvents = fn(1074).AnalyticEvents;
const size = fn(2);
let result = size.fileFinishedImporting("modules/quests/lib/analytics/AnalyticsHooks.tsx");
2026-07-29 08:29:29 +00:00
export const useTrackQuestEventWithImpression = function useTrackQuestEventWithImpression() {
getQuestImpressionId = getQuestImpressionId(11619).useGetQuestImpressionId();
2026-08-08 06:10:11 +00:00
const items = [getQuestImpressionId];
return noop.useCallback((properties) => {
const obj2 = {};
2026-07-20 16:05:17 +00:00
const merged = Object.assign(properties);
const obj3 = {};
2026-07-20 16:05:17 +00:00
const merged1 = Object.assign(properties.properties);
obj3.impression_id = callback();
obj2.properties = obj3;
AnalyticsActions.trackQuestEvent(obj2);
2026-07-20 16:05:17 +00:00
}, items);
2026-07-29 08:29:29 +00:00
};
export const useTrackQuestContentClickedWithImpression = function useTrackQuestContentClickedWithImpression() {
const getQuestImpressionId = callback(11619).useGetQuestImpressionId();
closure_129_0 = getQuestImpressionId;
2026-08-08 06:10:11 +00:00
const items = [getQuestImpressionId];
callback = noop.useCallback((properties) => {
const obj2 = {};
2026-07-20 16:05:17 +00:00
const merged = Object.assign(properties);
const obj3 = {};
2026-07-20 16:05:17 +00:00
const merged1 = Object.assign(properties.properties);
obj3.impression_id = callback();
obj2.properties = obj3;
AnalyticsActions.trackQuestEvent(obj2);
2026-07-20 16:05:17 +00:00
}, items);
2026-07-29 08:29:29 +00:00
const items1 = [callback];
return noop.useCallback((questId) => {
2026-07-20 16:05:17 +00:00
questId = questId.questId;
const questContent = questId.questContent;
2026-08-24 06:08:38 +00:00
({ questContentCTA: closure_2, questContentPosition: closure_3, questContentRowIndex: closure_4, trackGuildAndChannelMetadata: closure_5, sourceQuestContent } = questId);
const adMetadataSealed = callback(7801).getAdMetadataSealed(sourceQuestContent);
let obj = callback(7801);
const adTrafficMetadataSealed = callback(7801).getAdTrafficMetadataSealed(sourceQuestContent, questId);
let obj2 = callback(7801);
let obj3 = callback(7831);
const adUser = obj3.getAdUser(callback(7830).getQuestContentName(questContent));
2026-07-20 16:05:17 +00:00
adUser.then((advertisingId) => {
const obj = { questId, event: AnalyticEvents.QUEST_CONTENT_CLICKED, properties: null, trackGuildAndChannelMetadata: null, shouldExtendSession: null, sourceQuestContent: null };
const obj2 = {};
const merged = Object.assign(AnalyticsTypes.getContentProperties(questContent, closure_1_3, closure_1_4));
const merged1 = Object.assign(getDeviceMetadataDefault());
obj2.cta_name = cta_name;
const tmp = callback;
2026-07-29 08:29:29 +00:00
const tmp4 = questContent;
obj2.click_id = v1.v4();
2026-07-20 16:05:17 +00:00
advertisingId = null;
if (null != advertisingId) {
advertisingId = null;
2026-07-29 08:29:29 +00:00
if (tmp2Result.isIOS()) {
2026-07-20 16:05:17 +00:00
advertisingId = advertisingId.advertisingId;
}
tmp2Result = tmp2(1150);
2026-07-20 16:05:17 +00:00
}
obj2.apple_advertising_id = advertisingId;
2026-07-20 16:05:17 +00:00
let advertisingId1 = null;
if (null != advertisingId) {
advertisingId1 = null;
if (tmp2Result4.isAndroid()) {
2026-07-20 16:05:17 +00:00
advertisingId1 = advertisingId.advertisingId;
}
tmp2Result4 = tmp2(1150);
2026-07-20 16:05:17 +00:00
}
obj2.android_advertising_id = advertisingId1;
2026-07-29 08:29:29 +00:00
let tmp9 = null;
2026-07-20 16:05:17 +00:00
if (null != closure_7) {
2026-07-29 08:29:29 +00:00
tmp9 = closure_7;
2026-07-20 16:05:17 +00:00
}
obj2.metadata_sealed = tmp9;
2026-07-29 08:29:29 +00:00
let tmp10 = null;
2026-07-20 16:05:17 +00:00
if (null != closure_8) {
2026-07-29 08:29:29 +00:00
tmp10 = closure_8;
2026-07-20 16:05:17 +00:00
}
obj2.traffic_metadata_sealed = tmp10;
const currentQuestHomeSearchSession = QuestHomeSearchSession.getCurrentQuestHomeSearchSession();
2026-07-20 16:05:17 +00:00
let uuid;
2026-07-29 08:29:29 +00:00
if (currentQuestHomeSearchSession != null) {
2026-07-20 16:05:17 +00:00
uuid = currentQuestHomeSearchSession.uuid;
}
2026-07-29 08:29:29 +00:00
if (uuid == null) {
uuid = null;
2026-07-20 16:05:17 +00:00
}
obj2.search_session_id = uuid;
obj.properties = obj2;
obj.trackGuildAndChannelMetadata = trackGuildAndChannelMetadata;
const tmp2Result5 = QuestHomeSearchSession;
obj.shouldExtendSession = QuestDataUtils.isBillableQuestContent(tmp4);
obj.sourceQuestContent = sourceQuestContent;
2026-07-20 16:05:17 +00:00
tmp(obj);
});
2026-07-29 08:29:29 +00:00
}, items1);
};
export const useTrackAdContentEventWithImpression = function useTrackAdContentEventWithImpression() {
getQuestImpressionId = getQuestImpressionId(11619).useGetQuestImpressionId();
2026-08-08 06:10:11 +00:00
const items = [getQuestImpressionId];
return noop.useCallback((properties) => {
const obj2 = {};
2026-07-29 08:29:29 +00:00
const merged = Object.assign(properties);
const obj3 = {};
2026-07-29 08:29:29 +00:00
const merged1 = Object.assign(properties.properties);
obj3.impression_id = callback();
obj2.properties = obj3;
AnalyticsActions.trackAdContentEvent(obj2);
2026-07-20 16:05:17 +00:00
}, items);
};
export const useTrackAdContentClickedWithImpression = function useTrackAdContentClickedWithImpression() {
const getQuestImpressionId = callback(11619).useGetQuestImpressionId();
closure_129_0 = getQuestImpressionId;
2026-08-08 06:10:11 +00:00
const items = [getQuestImpressionId];
callback = noop.useCallback((properties) => {
const obj2 = {};
2026-07-29 08:29:29 +00:00
const merged = Object.assign(properties);
const obj3 = {};
2026-07-29 08:29:29 +00:00
const merged1 = Object.assign(properties.properties);
obj3.impression_id = callback();
obj2.properties = obj3;
AnalyticsActions.trackAdContentEvent(obj2);
2026-07-29 08:29:29 +00:00
}, items);
const items1 = [callback];
return noop.useCallback((arg0) => {
2026-07-29 08:29:29 +00:00
({ adContentId: callback, relatedQuestId: closure_1, adCreativeType: closure_2, questContent } = arg0);
2026-07-20 16:05:17 +00:00
({ questContentCTA: closure_4, questContentPosition: closure_5, questContentRowIndex: closure_6, trackGuildAndChannelMetadata: closure_7, sourceQuestContent: closure_8 } = arg0);
let obj = callback(7831);
const adUser = obj.getAdUser(callback(7830).getQuestContentName(questContent));
2026-07-20 16:05:17 +00:00
adUser.then((advertisingId) => {
const obj = { adContentId, relatedQuestId, adCreativeType, event: AnalyticEvents.QUEST_CONTENT_CLICKED, properties: null, trackGuildAndChannelMetadata: null, shouldExtendSession: null, sourceQuestContent: null };
const obj2 = {};
const merged = Object.assign(AnalyticsTypes.getContentProperties(questContent, closure_1_5, closure_1_6));
const merged1 = Object.assign(getDeviceMetadataDefault());
obj2.cta_name = cta_name;
const tmp = callback;
2026-07-29 08:29:29 +00:00
const tmp4 = questContent;
obj2.click_id = v1.v4();
2026-07-20 16:05:17 +00:00
advertisingId = null;
if (null != advertisingId) {
advertisingId = null;
2026-07-29 08:29:29 +00:00
if (tmp2Result.isIOS()) {
2026-07-20 16:05:17 +00:00
advertisingId = advertisingId.advertisingId;
}
tmp2Result = tmp2(1150);
2026-07-20 16:05:17 +00:00
}
obj2.apple_advertising_id = advertisingId;
2026-07-20 16:05:17 +00:00
let advertisingId1 = null;
if (null != advertisingId) {
advertisingId1 = null;
if (tmp2Result4.isAndroid()) {
2026-07-20 16:05:17 +00:00
advertisingId1 = advertisingId.advertisingId;
}
tmp2Result4 = tmp2(1150);
2026-07-20 16:05:17 +00:00
}
obj2.android_advertising_id = advertisingId1;
const currentQuestHomeSearchSession = QuestHomeSearchSession.getCurrentQuestHomeSearchSession();
2026-07-20 16:05:17 +00:00
let uuid;
2026-07-29 08:29:29 +00:00
if (currentQuestHomeSearchSession != null) {
2026-07-20 16:05:17 +00:00
uuid = currentQuestHomeSearchSession.uuid;
}
2026-07-29 08:29:29 +00:00
if (uuid == null) {
uuid = null;
2026-07-20 16:05:17 +00:00
}
obj2.search_session_id = uuid;
obj.properties = obj2;
obj.trackGuildAndChannelMetadata = trackGuildAndChannelMetadata;
const tmp2Result5 = QuestHomeSearchSession;
obj.shouldExtendSession = QuestDataUtils.isBillableQuestContent(tmp4);
obj.sourceQuestContent = sourceQuestContent;
2026-07-20 16:05:17 +00:00
tmp(obj);
});
2026-07-29 08:29:29 +00:00
}, items1);
2026-07-20 16:05:17 +00:00
};
export const useQuestsEmbedFallbackAnalytics = function useQuestsEmbedFallbackAnalytics(arg0, arg1) {
2026-08-24 06:08:38 +00:00
closure_0 = arg0;
closure_1 = arg1;
2026-07-20 16:05:17 +00:00
const items = [arg0, arg1];
const effect = noop.useEffect(() => {
const result = AnalyticsActions.trackQuestEmbedFallbackViewed(closure_1, closure_0);
2026-07-20 16:05:17 +00:00
}, items);
};
export const useBountyCarouselEmptyStateAnalytics = function useBountyCarouselEmptyStateAnalytics(arg0) {
closure_0 = arg0;
const items = [arg0];
const effect = noop.useEffect(() => {
if (null != closure_0) {
const result = AnalyticsActions.trackBountyCarouselEmptyStateViewed(tmp);
2026-07-20 16:05:17 +00:00
}
}, items);
};
export const useQuestHomeEntrypointAnalyticsEvents = function useQuestHomeEntrypointAnalyticsEvents(questHomeHero) {
questHomeHero = questHomeHero.questHomeHero;
const shouldShowQuestHomeHeroContent = questHomeHero.shouldShowQuestHomeHeroContent;
2026-07-23 10:11:24 +00:00
let memo;
const QuestContent = questHomeHero(5528).QuestContent;
2026-07-20 16:05:17 +00:00
const tmp = shouldShowQuestHomeHeroContent ? QuestContent.QUEST_HOME_ENTRYPOINT_THEMED : QuestContent.QUEST_HOME_ENTRYPOINT;
dependencyMap = tmp;
const items = [tmp];
2026-07-23 10:11:24 +00:00
memo = memo.useMemo(() => {
const contentProperties = AnalyticsTypes.getContentProperties(closure_2);
2026-07-29 08:29:29 +00:00
delete tmp[tmp2];
2026-07-20 16:05:17 +00:00
return contentProperties;
}, items);
const items1 = [questHomeHero, shouldShowQuestHomeHeroContent, tmp, memo];
const callback = memo.useCallback((event) => {
2026-07-20 16:05:17 +00:00
if (null != questHomeHero) {
if (shouldShowQuestHomeHeroContent) {
const obj3 = { adContentId: tmp.id, adCreativeType: AdCreativeType.AdCreativeType.QUEST_HOME_HERO, event, properties: memo, sourceQuestContent };
AnalyticsActions.trackAdContentEvent(obj3);
2026-07-20 16:05:17 +00:00
}
}
AnalyticsUtilsDefault.track(event, memo);
2026-07-20 16:05:17 +00:00
}, items1);
const items2 = [callback];
const callback1 = memo.useCallback(() => {
callback(AnalyticEvents.QUEST_HOVER);
2026-07-20 16:05:17 +00:00
}, items2);
const items3 = [callback];
const callback2 = memo.useCallback(() => {
callback(AnalyticEvents.QUEST_HOVER_OFF);
2026-07-20 16:05:17 +00:00
}, items3);
const callback3 = memo.useCallback(() => {
shouldShowQuestHomeHeroContent(sourceQuestContent[13]).track(callback.QUEST_HOME_ONBOARDING_POPOVER_RENDERED);
2026-07-20 16:05:17 +00:00
}, []);
const items4 = [memo, questHomeHero];
const callback4 = memo.useCallback(() => {
2026-07-20 16:05:17 +00:00
const merged = Object.assign(memo);
if (null != questHomeHero) {
const obj3 = { ad_content_id: tmp2.id };
let obj4 = obj3;
2026-07-20 16:05:17 +00:00
} else {
obj4 = {};
2026-07-20 16:05:17 +00:00
}
const merged1 = Object.assign(obj4);
AnalyticsUtilsDefault.track(AnalyticEvents.QUEST_CONTENT_CLICKED, { is_targeted: false });
2026-07-20 16:05:17 +00:00
}, items4);
const items5 = [callback1, callback2, callback3, callback4];
2026-07-23 10:11:24 +00:00
return memo.useMemo(() => ({ handleMouseEnter: callback1, handleMouseLeave: callback2, handleOnboardingPopoutRender: callback3, handleEntrypointClick: callback4 }), items5);
2026-07-20 16:05:17 +00:00
};