// 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]); }