32 lines
1.3 KiB
TypeScript
32 lines
1.3 KiB
TypeScript
// Metro module 8736 (f8737).
|
|
import { useCallback } from "react";
|
|
import { AnalyticEvents } from "../../../Constants";
|
|
import { useCollectiblesAnalyticsContext } from "../CollectiblesAnalyticsContext";
|
|
import { useCurrentUserIfAvailable } from "./useCurrentUser";
|
|
import { getShopDiscountSource, getAnalyticsShopDiscountSource } from "../CollectiblesUtils";
|
|
import AnalyticsUtils from "../../../utils/AnalyticsUtils";
|
|
export function useTrackPdpClick({ skuId, productSkuIds, analyticsLocations }) {
|
|
let r15 = useCollectiblesAnalyticsContext();
|
|
if (r15 == null) {
|
|
r15 = {};
|
|
}
|
|
const { cardId, sessionId } = r15;
|
|
const shopDiscountSource = getShopDiscountSource(useCurrentUserIfAvailable());
|
|
return useCallback((a0, a1) => {
|
|
let sku_id = a1;
|
|
const SHOP_PRODUCT_DETAIL_PAGE_CLICKED = AnalyticEvents.SHOP_PRODUCT_DETAIL_PAGE_CLICKED;
|
|
if (a1 == null) {
|
|
sku_id = skuId;
|
|
}
|
|
AnalyticsUtils.track(SHOP_PRODUCT_DETAIL_PAGE_CLICKED, {
|
|
sku_id,
|
|
cta: a0,
|
|
shop_session_id: sessionId,
|
|
card_id: cardId,
|
|
product_sku_ids: productSkuIds,
|
|
location_stack: analyticsLocations,
|
|
discount_source: getAnalyticsShopDiscountSource(shopDiscountSource)
|
|
});
|
|
}, [skuId, analyticsLocations, cardId, productSkuIds, sessionId, shopDiscountSource]);
|
|
}
|