// Metro module 8697 (f8698). import { useCallback } from "react"; import { useSelectedVariantIndex } from "../CollectiblesShopVariantsUIStore"; import { AnalyticEvents } from "../../../Constants"; import { useCollectiblesAnalyticsContext } from "../CollectiblesAnalyticsContext"; import { useCurrentUserIfAvailable } from "./useCurrentUser"; import { getShopDiscountSource, getAnalyticsShopDiscountSource } from "../CollectiblesUtils"; import { getIsVariantProduct, getProductSkuIds } from "../utils/CollectiblesProductUtils"; import AnalyticsUtils from "../../../utils/AnalyticsUtils"; export function useTrackShopCardClick({ product, analyticsLocations }) { let r16 = useCollectiblesAnalyticsContext(); if (r16 == null) { r16 = {}; } const { cardId, sessionId, tilePosition } = r16; const selectedVariantIndex = useSelectedVariantIndex(product); const shopDiscountSource = getShopDiscountSource(useCurrentUserIfAvailable()); return useCallback((a0, a1) => { let sku_id; if (getIsVariantProduct(product)) { let r15 = a1; const variants = product.variants; if (a1 == null) { r15 = selectedVariantIndex; } let r18 = variants[r15]?.skuId; if (r18 == null) { r18 = product.skuId; } sku_id = r18; } else { sku_id = product.skuId; } AnalyticsUtils.track(AnalyticEvents.SHOP_CARD_CLICKED, { sku_id, cta: a0, shop_session_id: sessionId, card_id: cardId, product_sku_ids: getProductSkuIds(product), location_stack: analyticsLocations, position_in_section: tilePosition, discount_source: getAnalyticsShopDiscountSource(shopDiscountSource) }); }, [product, selectedVariantIndex, sessionId, cardId, analyticsLocations, tilePosition, shopDiscountSource]); }