Merge branch 'develop' into feat/SW-266-seo-loyalty-pages

This commit is contained in:
Pontus Dreij
2024-08-21 14:11:53 +02:00
87 changed files with 2056 additions and 10893 deletions

View File

@@ -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)
}

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()}`
}
}