diff --git a/.env.local.example b/.env.local.example
index c747c3e1e..6d842230e 100644
--- a/.env.local.example
+++ b/.env.local.example
@@ -48,3 +48,5 @@ GOOGLE_STATIC_MAP_KEY=""
GOOGLE_STATIC_MAP_SIGNATURE_SECRET=""
GOOGLE_STATIC_MAP_ID=""
GOOGLE_DYNAMIC_MAP_ID=""
+
+HIDE_FOR_NEXT_RELEASE="true"
diff --git a/.env.test b/.env.test
index d2b538cc2..c077c6914 100644
--- a/.env.test
+++ b/.env.test
@@ -41,3 +41,4 @@ GOOGLE_STATIC_MAP_KEY="test"
GOOGLE_STATIC_MAP_SIGNATURE_SECRET="test"
GOOGLE_STATIC_MAP_ID="test"
GOOGLE_DYNAMIC_MAP_ID="test"
+HIDE_FOR_NEXT_RELEASE="test
diff --git a/app/[lang]/(live)/(public)/[contentType]/[uid]/page.tsx b/app/[lang]/(live)/(public)/[contentType]/[uid]/page.tsx
index a162b6d1b..8ef1cb2bd 100644
--- a/app/[lang]/(live)/(public)/[contentType]/[uid]/page.tsx
+++ b/app/[lang]/(live)/(public)/[contentType]/[uid]/page.tsx
@@ -1,5 +1,7 @@
import { notFound } from "next/navigation"
+import { env } from "@/env/server"
+
import ContentPage from "@/components/ContentType/ContentPage"
import HotelPage from "@/components/ContentType/HotelPage"
import LoyaltyPage from "@/components/ContentType/LoyaltyPage"
@@ -25,6 +27,9 @@ export default async function ContentTypePage({
case "loyalty-page":
return
case "hotel-page":
+ if (env.HIDE_FOR_NEXT_RELEASE) {
+ return notFound()
+ }
return
default:
const type: never = params.contentType
diff --git a/app/[lang]/(live)/@header/page.tsx b/app/[lang]/(live)/@header/page.tsx
index adccd9484..666b4ab74 100644
--- a/app/[lang]/(live)/@header/page.tsx
+++ b/app/[lang]/(live)/@header/page.tsx
@@ -1,3 +1,6 @@
+import { env } from "@/env/server"
+
+import CurrentHeader from "@/components/Current/Header"
import Header from "@/components/Header"
import { setLang } from "@/i18n/serverContext"
@@ -6,5 +9,9 @@ import { LangParams, PageArgs } from "@/types/params"
export default async function HeaderPage({ params }: PageArgs) {
setLang(params.lang)
+ if (env.HIDE_FOR_NEXT_RELEASE) {
+ return
+ }
+
return
}
diff --git a/app/[lang]/(live)/layout.tsx b/app/[lang]/(live)/layout.tsx
index 3ee99194c..bc8feb1bb 100644
--- a/app/[lang]/(live)/layout.tsx
+++ b/app/[lang]/(live)/layout.tsx
@@ -3,10 +3,12 @@ import "@scandic-hotels/design-system/style.css"
import Script from "next/script"
+import { env } from "@/env/server"
import TrpcProvider from "@/lib/trpc/Provider"
import TokenRefresher from "@/components/Auth/TokenRefresher"
import AdobeSDKScript from "@/components/Current/AdobeSDKScript"
+import CurrentFooter from "@/components/Current/Footer"
import VwoScript from "@/components/Current/VwoScript"
import Footer from "@/components/Footer"
import { ToastHandler } from "@/components/TempDesignSystem/Toasts"
@@ -54,10 +56,10 @@ export default async function RootLayout({
{header}
- {bookingwidget}
+ {!env.HIDE_FOR_NEXT_RELEASE && <>{bookingwidget}>}
{children}
-
+ {env.HIDE_FOR_NEXT_RELEASE ? : }
diff --git a/app/[lang]/(live-current)/@header/current-content-page/page.tsx b/app/[lang]/(live-current)/@header/current-content-page/page.tsx
new file mode 100644
index 000000000..98738064a
--- /dev/null
+++ b/app/[lang]/(live-current)/@header/current-content-page/page.tsx
@@ -0,0 +1,10 @@
+import Header from "@/components/Current/Header"
+import { setLang } from "@/i18n/serverContext"
+
+import { LangParams, PageArgs } from "@/types/params"
+
+export default async function HeaderPage({ params }: PageArgs) {
+ setLang(params.lang)
+
+ return
+}
diff --git a/app/[lang]/(live-current)/@header/error.tsx b/app/[lang]/(live-current)/@header/error.tsx
new file mode 100644
index 000000000..2764280b4
--- /dev/null
+++ b/app/[lang]/(live-current)/@header/error.tsx
@@ -0,0 +1,5 @@
+"use client"
+
+export default function Error() {
+ return null
+}
diff --git a/app/[lang]/(live-current)/@languageSwitcher/current-content-page/page.tsx b/app/[lang]/(live-current)/@languageSwitcher/current-content-page/page.tsx
deleted file mode 100644
index 6758eaa7c..000000000
--- a/app/[lang]/(live-current)/@languageSwitcher/current-content-page/page.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import { serverClient } from "@/lib/trpc/server"
-
-import LanguageSwitcher from "@/components/Current/Header/LanguageSwitcher"
-import { setLang } from "@/i18n/serverContext"
-
-import { LangParams, PageArgs } from "@/types/params"
-
-export default async function LanguageSwitcherRoute({
- params,
-}: PageArgs) {
- setLang(params.lang)
-
- const data = await serverClient().contentstack.languageSwitcher.get()
- if (!data) {
- return null
- }
- return
-}
diff --git a/app/[lang]/(live-current)/@languageSwitcher/error.tsx b/app/[lang]/(live-current)/@languageSwitcher/error.tsx
deleted file mode 100644
index 1501c40ab..000000000
--- a/app/[lang]/(live-current)/@languageSwitcher/error.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-"use client"
-
-import { baseUrls } from "@/constants/routes/baseUrls"
-
-import LanguageSwitcher from "@/components/Current/Header/LanguageSwitcher"
-
-export default function Error() {
- return
-}
diff --git a/app/[lang]/(live-current)/layout.tsx b/app/[lang]/(live-current)/layout.tsx
index 12578764e..58103a61d 100644
--- a/app/[lang]/(live-current)/layout.tsx
+++ b/app/[lang]/(live-current)/layout.tsx
@@ -27,12 +27,9 @@ export const metadata: Metadata = {
export default async function RootLayout({
children,
params,
- languageSwitcher,
- myPagesMobileDropdown,
+ header,
}: React.PropsWithChildren<
- LayoutArgs & { languageSwitcher: React.ReactNode } & {
- myPagesMobileDropdown: React.ReactNode
- }
+ LayoutArgs & { header: React.ReactNode }
>) {
setLang(params.lang)
const { defaultLocale, locale, messages } = await getIntl()
@@ -68,10 +65,7 @@ export default async function RootLayout({
-
+ {header}
{children}
diff --git a/components/Current/Header/index.tsx b/components/Current/Header/index.tsx
index 691af4548..1c11b8045 100644
--- a/components/Current/Header/index.tsx
+++ b/components/Current/Header/index.tsx
@@ -4,25 +4,25 @@ import { serverClient } from "@/lib/trpc/server"
import { getLang } from "@/i18n/serverContext"
+import LanguageSwitcher from "./LanguageSwitcher"
import { MainMenu } from "./MainMenu"
+import MyPagesMobileDropdown from "./MyPagesMobileDropdown"
import OfflineBanner from "./OfflineBanner"
import TopMenu from "./TopMenu"
import styles from "./header.module.css"
-export default async function Header({
- languageSwitcher,
- myPagesMobileDropdown,
-}: {
- languageSwitcher: React.ReactNode
- myPagesMobileDropdown: React.ReactNode
-}) {
- const data = await serverClient().contentstack.base.currentHeader({
- lang: getLang(),
- })
- const user = await serverClient().user.name()
+export default async function Header() {
+ const [data, user, languages, navigation] = await Promise.all([
+ serverClient().contentstack.base.currentHeader({
+ lang: getLang(),
+ }),
+ serverClient().user.name(),
+ serverClient().contentstack.languageSwitcher.get(),
+ serverClient().contentstack.myPages.navigation.get(),
+ ])
- if (!data) {
+ if (!navigation || !languages || !data) {
return null
}
@@ -40,7 +40,7 @@ export default async function Header({
frontpageLinkText={frontpage_link_text}
homeHref={homeHref}
links={top_menu.links}
- languageSwitcher={languageSwitcher}
+ languageSwitcher={}
/>
}
+ myPagesMobileDropdown={
+
+ }
bookingHref={homeHref}
user={user}
/>
diff --git a/env/server.ts b/env/server.ts
index 663de1ad1..24b5b0898 100644
--- a/env/server.ts
+++ b/env/server.ts
@@ -65,6 +65,7 @@ export const env = createEnv({
GOOGLE_STATIC_MAP_SIGNATURE_SECRET: z.string(),
GOOGLE_DYNAMIC_MAP_ID: z.string(),
GOOGLE_STATIC_MAP_ID: z.string(),
+ HIDE_FOR_NEXT_RELEASE: z.string(),
},
emptyStringAsUndefined: true,
runtimeEnv: {
@@ -117,5 +118,6 @@ export const env = createEnv({
process.env.GOOGLE_STATIC_MAP_SIGNATURE_SECRET,
GOOGLE_STATIC_MAP_ID: process.env.GOOGLE_STATIC_MAP_ID,
GOOGLE_DYNAMIC_MAP_ID: process.env.GOOGLE_DYNAMIC_MAP_ID,
+ HIDE_FOR_NEXT_RELEASE: process.env.HIDE_FOR_NEXT_RELEASE,
},
})