Using feature flag

This commit is contained in:
Linus Flood
2024-09-19 13:28:51 +02:00
parent 730f66d79a
commit 69359da126
12 changed files with 56 additions and 53 deletions

View File

@@ -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 <LoyaltyPage />
case "hotel-page":
if (env.HIDE_FOR_NEXT_RELEASE) {
return notFound()
}
return <HotelPage />
default:
const type: never = params.contentType

View File

@@ -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<LangParams>) {
setLang(params.lang)
if (env.HIDE_FOR_NEXT_RELEASE) {
return <CurrentHeader />
}
return <Header />
}

View File

@@ -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({
<ServerIntlProvider intl={{ defaultLocale, locale, messages }}>
<TrpcProvider>
{header}
{bookingwidget}
{!env.HIDE_FOR_NEXT_RELEASE && <>{bookingwidget}</>}
{children}
<ToastHandler />
<Footer />
{env.HIDE_FOR_NEXT_RELEASE ? <CurrentFooter /> : <Footer />}
<TokenRefresher />
</TrpcProvider>
</ServerIntlProvider>

View File

@@ -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<LangParams>) {
setLang(params.lang)
return <Header />
}

View File

@@ -0,0 +1,5 @@
"use client"
export default function Error() {
return null
}

View File

@@ -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<LangParams>) {
setLang(params.lang)
const data = await serverClient().contentstack.languageSwitcher.get()
if (!data) {
return null
}
return <LanguageSwitcher urls={data.urls} />
}

View File

@@ -1,9 +0,0 @@
"use client"
import { baseUrls } from "@/constants/routes/baseUrls"
import LanguageSwitcher from "@/components/Current/Header/LanguageSwitcher"
export default function Error() {
return <LanguageSwitcher urls={baseUrls} />
}

View File

@@ -27,12 +27,9 @@ export const metadata: Metadata = {
export default async function RootLayout({
children,
params,
languageSwitcher,
myPagesMobileDropdown,
header,
}: React.PropsWithChildren<
LayoutArgs<LangParams> & { languageSwitcher: React.ReactNode } & {
myPagesMobileDropdown: React.ReactNode
}
LayoutArgs<LangParams> & { header: React.ReactNode }
>) {
setLang(params.lang)
const { defaultLocale, locale, messages } = await getIntl()
@@ -68,10 +65,7 @@ export default async function RootLayout({
<LangPopup />
<SkipToMainContent />
<ServerIntlProvider intl={{ defaultLocale, locale, messages }}>
<Header
myPagesMobileDropdown={myPagesMobileDropdown}
languageSwitcher={languageSwitcher}
/>
{header}
<BookingWidget />
{children}
<Footer />