Merge develop

This commit is contained in:
Linus Flood
2024-09-20 12:57:40 +02:00
28 changed files with 314 additions and 103 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"
@@ -21,10 +23,16 @@ export default async function ContentTypePage({
switch (params.contentType) {
case "content-page":
if (env.HIDE_FOR_NEXT_RELEASE) {
return notFound()
}
return <ContentPage />
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,7 @@
import { notFound } from "next/navigation"
import { env } from "@/env/server"
import styles from "./layout.module.css"
import { LangParams, LayoutArgs } from "@/types/params"
@@ -5,5 +9,8 @@ import { LangParams, LayoutArgs } from "@/types/params"
export default function HotelReservationLayout({
children,
}: React.PropsWithChildren<LayoutArgs<LangParams>>) {
if (env.HIDE_FOR_NEXT_RELEASE) {
return notFound()
}
return <div className={styles.layout}>{children}</div>
}

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

View File

@@ -4,10 +4,12 @@ import "@scandic-hotels/design-system/style.css"
import Script from "next/script"
import { Suspense } from "react"
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 LoadingSpinner from "@/components/LoadingSpinner"
@@ -56,11 +58,11 @@ export default async function RootLayout({
<ServerIntlProvider intl={{ defaultLocale, locale, messages }}>
<TrpcProvider>
{header}
{bookingwidget}
{!env.HIDE_FOR_NEXT_RELEASE && <>{bookingwidget}</>}
{children}
<ToastHandler />
<Suspense fallback={<LoadingSpinner />}>
<Footer />
{env.HIDE_FOR_NEXT_RELEASE ? <CurrentFooter /> : <Footer />}
</Suspense>
<TokenRefresher />
</TrpcProvider>

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

@@ -1,18 +0,0 @@
import { serverClient } from "@/lib/trpc/server"
import MyPagesMobileDropdown from "@/components/Current/Header/MyPagesMobileDropdown"
import { setLang } from "@/i18n/serverContext"
import { LangParams, PageArgs } from "@/types/params"
export default async function MyPagesMobileDropdownPage({
params,
}: PageArgs<LangParams>) {
setLang(params.lang)
const navigation = await serverClient().contentstack.myPages.navigation.get()
if (!navigation) {
return null
}
return <MyPagesMobileDropdown navigation={navigation} />
}

View File

@@ -1,7 +0,0 @@
"use client"
import MyPagesMobileDropdown from "@/components/Current/Header/MyPagesMobileDropdown"
export default function Error() {
return <MyPagesMobileDropdown navigation={null} />
}

View File

@@ -7,7 +7,6 @@ import TokenRefresher from "@/components/Auth/TokenRefresher"
import BookingWidget from "@/components/BookingWidget"
import AdobeScript from "@/components/Current/AdobeScript"
import Footer from "@/components/Current/Footer"
import Header from "@/components/Current/Header"
import LangPopup from "@/components/Current/LangPopup"
import SkipToMainContent from "@/components/SkipToMainContent"
import { getIntl } from "@/i18n"
@@ -27,12 +26,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 +64,7 @@ export default async function RootLayout({
<LangPopup />
<SkipToMainContent />
<ServerIntlProvider intl={{ defaultLocale, locale, messages }}>
<Header
myPagesMobileDropdown={myPagesMobileDropdown}
languageSwitcher={languageSwitcher}
/>
{header}
<BookingWidget />
{children}
<Footer />

View File

@@ -123,6 +123,7 @@ html,
body {
margin: 0;
padding: 0;
scroll-behavior: smooth;
}
body {
@@ -130,6 +131,16 @@ body {
overflow-x: hidden;
}
body.overflow-hidden {
overflow: hidden;
}
@media screen and (min-width: 768px) {
body.overflow-hidden {
overflow: auto;
overflow-x: hidden;
}
}
ul {
padding-inline-start: 0;
margin-block-start: 0;