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