// Metro module 11274 (f11275). import { useRef, useCallback } from "react"; import { useAppLauncherContext } from "../AppLauncherContext"; import { useFocusEffect } from "../../../../_bundle/Module1481"; import { trackImpression } from "../../../app_analytics/useTrackImpression"; import { ImpressionTypes, ImpressionNames } from "../../../../_bundle/Module503"; export function useTrackAppLauncherItemImpressionOnFirstView() { const entrypoint = useAppLauncherContext().entrypoint; const ref = useRef(new Set()); useFocusEffect(useCallback(() => { ref.current.clear(); }, [])); return { trackAppLauncherItemImpressionOnFirstView: useCallback(({ itemKey, sectionName, sectionPosition, sectionOverallPosition, applicationId, commandId, applicationFlags }) => { if (!ref.current.has(itemKey)) { ref.current.add(itemKey); trackImpression({ type: ImpressionTypes.VIEW, name: ImpressionNames.APP_LAUNCHER_ITEM, properties: { source: entrypoint, section_name: sectionName, section_position: sectionPosition, section_overall_position: sectionOverallPosition, application_id: applicationId, command_id: commandId, application_flags: applicationFlags } }); } }, [entrypoint]) }; }