import { TrackingPosition, TrackingSDKData } from "@/types/components/tracking" export function trackClick(name: string) { if (typeof window !== "undefined" && window.adobeDataLayer) { console.log("TRACKING: Tracking click", name) window.adobeDataLayer.push({ event: "linkClick", cta: { name, }, }) } } export function trackPageViewStart() { if (typeof window !== "undefined" && window.adobeDataLayer) { console.log("TRACKING: Tracking pageViewStart") window.adobeDataLayer.push({ event: "pageViewStart", }) } } export function trackLoginClick(position: TrackingPosition) { if (typeof window !== "undefined" && window.adobeDataLayer) { console.log("TRACKING: Tracking loginStart, position", position) const loginEvent = { event: "loginStart", login: { position, action: "login start", ctaName: "login", }, } window.adobeDataLayer.push(loginEvent) } } export function createSDKPageObject( trackingData: TrackingSDKData ): TrackingSDKData { let pageName = trackingData.pageName?.split("/").slice(1).join("|") ?? "" if (trackingData.pathName.indexOf("/webview/") > -1) { pageName = "webview|" + pageName } return { ...trackingData, domain: window.location.host, pageName: pageName, siteSections: pageName, //TODO: Always seems to be the same as pageName? } }