From d513184be448ec43c61e6783911d2139b9ebc150 Mon Sep 17 00:00:00 2001 From: Simon Emanuelsson Date: Tue, 1 Apr 2025 14:30:56 +0200 Subject: [PATCH] fix: there can only ever be one root layout, and it should always contains html and body tags --- apps/scandic-web/app/[lang]/(live)/layout.tsx | 7 +++++-- .../app/[lang]/(live-current)/layout.tsx | 2 ++ .../app/[lang]/(no-layout)/layout.tsx | 7 +++++-- apps/scandic-web/app/[lang]/(partner)/layout.tsx | 2 ++ apps/scandic-web/app/[lang]/layout.tsx | 16 ---------------- apps/scandic-web/app/[lang]/webview/layout.tsx | 2 ++ 6 files changed, 16 insertions(+), 20 deletions(-) delete mode 100644 apps/scandic-web/app/[lang]/layout.tsx diff --git a/apps/scandic-web/app/[lang]/(live)/layout.tsx b/apps/scandic-web/app/[lang]/(live)/layout.tsx index 48993b39e..1c19a1052 100644 --- a/apps/scandic-web/app/[lang]/(live)/layout.tsx +++ b/apps/scandic-web/app/[lang]/(live)/layout.tsx @@ -22,21 +22,24 @@ import GTMScript from "@/components/TrackingSDK/GTMScript" import RouterTracking from "@/components/TrackingSDK/RouterTracking" import { getIntl } from "@/i18n" import ServerIntlProvider from "@/i18n/Provider" +import { setLang } from "@/i18n/serverContext" import type { LangParams, LayoutArgs } from "@/types/params" export default async function RootLayout({ bookingwidget, children, + params, }: React.PropsWithChildren< LayoutArgs & { bookingwidget: React.ReactNode } >) { + setLang(params.lang) const { defaultLocale, locale, messages } = await getIntl() return ( - <> + @@ -71,6 +74,6 @@ export default async function RootLayout({ - + ) } diff --git a/apps/scandic-web/app/[lang]/(live-current)/layout.tsx b/apps/scandic-web/app/[lang]/(live-current)/layout.tsx index 617e7c29e..b85a1bf7b 100644 --- a/apps/scandic-web/app/[lang]/(live-current)/layout.tsx +++ b/apps/scandic-web/app/[lang]/(live-current)/layout.tsx @@ -15,6 +15,7 @@ import SkipToMainContent from "@/components/SkipToMainContent" import RouterTracking from "@/components/TrackingSDK/RouterTracking" import { getIntl } from "@/i18n" import ServerIntlProvider from "@/i18n/Provider" +import { setLang } from "@/i18n/serverContext" import type { Metadata } from "next" @@ -33,6 +34,7 @@ export default async function RootLayout({ }: React.PropsWithChildren< LayoutArgs & { header: React.ReactNode } >) { + setLang(params.lang) const { defaultLocale, locale, messages } = await getIntl() return ( diff --git a/apps/scandic-web/app/[lang]/(no-layout)/layout.tsx b/apps/scandic-web/app/[lang]/(no-layout)/layout.tsx index eb3256728..290bd9335 100644 --- a/apps/scandic-web/app/[lang]/(no-layout)/layout.tsx +++ b/apps/scandic-web/app/[lang]/(no-layout)/layout.tsx @@ -18,16 +18,19 @@ import GTMScript from "@/components/TrackingSDK/GTMScript" import RouterTracking from "@/components/TrackingSDK/RouterTracking" import { getIntl } from "@/i18n" import ServerIntlProvider from "@/i18n/Provider" +import { setLang } from "@/i18n/serverContext" import type { LangParams, LayoutArgs } from "@/types/params" export default async function RootLayout({ children, + params, }: React.PropsWithChildren>) { + setLang(params.lang) const { defaultLocale, locale, messages } = await getIntl() return ( - <> + @@ -58,6 +61,6 @@ export default async function RootLayout({ - + ) } diff --git a/apps/scandic-web/app/[lang]/(partner)/layout.tsx b/apps/scandic-web/app/[lang]/(partner)/layout.tsx index 4509e1934..728b4b505 100644 --- a/apps/scandic-web/app/[lang]/(partner)/layout.tsx +++ b/apps/scandic-web/app/[lang]/(partner)/layout.tsx @@ -19,6 +19,7 @@ import GTMScript from "@/components/TrackingSDK/GTMScript" import RouterTracking from "@/components/TrackingSDK/RouterTracking" import { getIntl } from "@/i18n" import ServerIntlProvider from "@/i18n/Provider" +import { setLang } from "@/i18n/serverContext" import type { LangParams, LayoutArgs } from "@/types/params" @@ -29,6 +30,7 @@ export default async function RootLayout({ if (!env.SAS_ENABLED) { return null } + setLang(params.lang) const { defaultLocale, locale, messages } = await getIntl() diff --git a/apps/scandic-web/app/[lang]/layout.tsx b/apps/scandic-web/app/[lang]/layout.tsx deleted file mode 100644 index 050f14930..000000000 --- a/apps/scandic-web/app/[lang]/layout.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { getLang, setLang } from "@/i18n/serverContext" - -import type { Lang } from "@/constants/languages" - -export default function Layout({ - children, - params, -}: { - children: React.ReactNode - params: { lang: Lang } -}) { - setLang(params.lang) - const lang = getLang() - - return {children} -} diff --git a/apps/scandic-web/app/[lang]/webview/layout.tsx b/apps/scandic-web/app/[lang]/webview/layout.tsx index efcf4db84..ccf5f938b 100644 --- a/apps/scandic-web/app/[lang]/webview/layout.tsx +++ b/apps/scandic-web/app/[lang]/webview/layout.tsx @@ -14,6 +14,7 @@ import GTMScript from "@/components/TrackingSDK/GTMScript" import RouterTracking from "@/components/TrackingSDK/RouterTracking" import { getIntl } from "@/i18n" import ServerIntlProvider from "@/i18n/Provider" +import { setLang } from "@/i18n/serverContext" import styles from "./layout.module.css" @@ -29,6 +30,7 @@ export default async function RootLayout({ children, params, }: React.PropsWithChildren>) { + setLang(params.lang) const { defaultLocale, locale, messages } = await getIntl() return (