Feature/wrap logging * feat: change all logging to go through our own logger function so that we can control log levels * move packages/trpc to using our own logger * merge Approved-by: Linus Flood
38 lines
782 B
TypeScript
38 lines
782 B
TypeScript
import { logger } from "@scandic-hotels/common/logger"
|
|
|
|
import { SESSION_ID_KEY_NAME } from "@/hooks/useSessionId"
|
|
|
|
export function trackEvent(data: any) {
|
|
if (
|
|
typeof window !== "undefined" &&
|
|
window.adobeDataLayer &&
|
|
window.dataLayer
|
|
) {
|
|
let sessionId = ""
|
|
|
|
try {
|
|
sessionId = sessionStorage.getItem(SESSION_ID_KEY_NAME) ?? ""
|
|
} catch (e) {
|
|
logger.error("Error getting sessionId from sessionStorage", e)
|
|
}
|
|
|
|
data = { ...data, siteVersion: "new-web", sessionId }
|
|
|
|
window.adobeDataLayer.push(data)
|
|
window.dataLayer.push(data)
|
|
}
|
|
}
|
|
|
|
export function trackClick(
|
|
name: string,
|
|
additionalParams?: Record<string, string>
|
|
) {
|
|
trackEvent({
|
|
event: "linkClick",
|
|
cta: {
|
|
...additionalParams,
|
|
name,
|
|
},
|
|
})
|
|
}
|