Merge branch 'develop' into feat/SW-266-seo-loyalty-pages
This commit is contained in:
@@ -5,12 +5,3 @@ export function findLang(pathname: string) {
|
||||
(l) => pathname.startsWith(`/${l}/`) || pathname === `/${l}`
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function to convert langs in uppercase or capitalized format (e.g. the Hotel endpoint)
|
||||
* to to Lang enum.
|
||||
*/
|
||||
export function fromUppercaseToLangEnum(lang: string): Lang | undefined {
|
||||
const lowerCaseLang = lang.toLowerCase()
|
||||
return Object.values(Lang).find((l) => l === lowerCaseLang)
|
||||
}
|
||||
|
||||
@@ -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: {
|
||||
|
||||
@@ -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()}`
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user