feat: handle ecid and loginType params from mobile app

This commit is contained in:
Christel Westerberg
2024-08-20 13:23:55 +02:00
parent 4a07ca3cd9
commit 855713565e
5 changed files with 66 additions and 7 deletions

View File

@@ -1,7 +1,7 @@
import { TrackingPosition } from "@/types/components/tracking"
export function trackClick(name: string) {
if (window.adobeDataLayer) {
if (typeof window !== "undefined" && window.adobeDataLayer) {
window.adobeDataLayer.push({
event: "linkClick",
cta: {
@@ -11,8 +11,16 @@ export function trackClick(name: string) {
}
}
export function trackPageViewStart() {
if (typeof window !== "undefined" && window.adobeDataLayer) {
window.adobeDataLayer.push({
event: "pageViewStart",
})
}
}
export function trackLoginClick(position: TrackingPosition) {
if (window.adobeDataLayer) {
if (typeof window !== "undefined" && window.adobeDataLayer) {
const loginEvent = {
event: "loginStart",
login: {

View File

@@ -1,13 +1,32 @@
import "server-only"
import { headers } from "next/headers"
import { Lang } from "@/constants/languages"
import { webviews } from "@/constants/routes/webviews"
export function webviewSearchParams() {
const searchParams = new URLSearchParams()
const loginType = headers().get("loginType")
if (loginType) {
searchParams.set("loginType", loginType)
}
const adobeMc = headers().get("adobe_mc")
if (adobeMc) {
searchParams.set("adobe_mc", adobeMc)
}
return searchParams
}
export function modWebviewLink(url: string, lang: Lang) {
const searchParams = webviewSearchParams()
const urlWithoutLang = url.replace(`/${lang}`, "")
const webviewUrl = `/${lang}/webview${urlWithoutLang}`
if (webviews.includes(webviewUrl) || url.startsWith("/webview")) {
return webviewUrl
return `${webviewUrl}?${searchParams.toString()}`
} else {
return url
return `${url}?${searchParams.toString()}`
}
}