diff --git a/app/[lang]/(live)/(protected)/my-pages/@bookingwidget/[...path]/page.tsx b/app/[lang]/(live)/(protected)/my-pages/@bookingwidget/[...path]/page.tsx
new file mode 100644
index 000000000..ef55f4c90
--- /dev/null
+++ b/app/[lang]/(live)/(protected)/my-pages/@bookingwidget/[...path]/page.tsx
@@ -0,0 +1,5 @@
+import BookingWidgetContainer from "@/components/BookingWidgetContainer"
+
+export default function BookingWidgetPage() {
+ return
+}
diff --git a/app/[lang]/(live)/(protected)/my-pages/@bookingwidget/default.tsx b/app/[lang]/(live)/(protected)/my-pages/@bookingwidget/default.tsx
new file mode 100644
index 000000000..ad1e716a6
--- /dev/null
+++ b/app/[lang]/(live)/(protected)/my-pages/@bookingwidget/default.tsx
@@ -0,0 +1,3 @@
+export default function DefaultBookingWidgetPage() {
+ return null
+}
diff --git a/app/[lang]/(live)/(protected)/my-pages/layout.tsx b/app/[lang]/(live)/(protected)/my-pages/layout.tsx
index e6152ae51..d070697c5 100644
--- a/app/[lang]/(live)/(protected)/my-pages/layout.tsx
+++ b/app/[lang]/(live)/(protected)/my-pages/layout.tsx
@@ -3,18 +3,23 @@ import Sidebar from "@/components/MyPages/Sidebar"
import styles from "./layout.module.css"
export default async function MyPagesLayout({
+ bookingwidget,
breadcrumbs,
children,
}: React.PropsWithChildren & {
+ bookingwidget: React.ReactNode
breadcrumbs: React.ReactNode
}) {
return (
-
- {breadcrumbs}
-
-
- {children}
+ <>
+ {bookingwidget}
+
-
+ >
)
}
diff --git a/app/[lang]/(live)/(public)/[contentType]/[uid]/layout.tsx b/app/[lang]/(live)/(public)/[contentType]/[uid]/layout.tsx
index 15fe17b28..0d3bf209c 100644
--- a/app/[lang]/(live)/(public)/[contentType]/[uid]/layout.tsx
+++ b/app/[lang]/(live)/(public)/[contentType]/[uid]/layout.tsx
@@ -1,3 +1,5 @@
+import BookingWidgetContainer from "@/components/BookingWidgetContainer"
+
import styles from "./layout.module.css"
import {
@@ -16,9 +18,12 @@ export default function ContentTypeLayout({
}
>) {
return (
-
- {breadcrumbs}
- {children}
-
+ <>
+
+
+ {breadcrumbs}
+ {children}
+
+ >
)
}
diff --git a/app/[lang]/(live)/(public)/hotelreservation/layout.tsx b/app/[lang]/(live)/(public)/hotelreservation/layout.tsx
index ee96f3c10..e7e4fb678 100644
--- a/app/[lang]/(live)/(public)/hotelreservation/layout.tsx
+++ b/app/[lang]/(live)/(public)/hotelreservation/layout.tsx
@@ -1,3 +1,5 @@
+import BookingWidgetContainer from "@/components/BookingWidgetContainer"
+
import styles from "./layout.module.css"
import { LangParams, LayoutArgs } from "@/types/params"
@@ -5,5 +7,10 @@ import { LangParams, LayoutArgs } from "@/types/params"
export default function HotelReservationLayout({
children,
}: React.PropsWithChildren>) {
- return {children}
+ return (
+ <>
+
+ {children}
+ >
+ )
}
diff --git a/app/[lang]/(live-current)/layout.tsx b/app/[lang]/(live-current)/layout.tsx
index 7e45b121c..8401dc96f 100644
--- a/app/[lang]/(live-current)/layout.tsx
+++ b/app/[lang]/(live-current)/layout.tsx
@@ -4,6 +4,7 @@ import "@scandic-hotels/design-system/style.css"
import Script from "next/script"
import TokenRefresher from "@/components/Auth/TokenRefresher"
+import BookingWidgetContainer from "@/components/BookingWidgetContainer"
import AdobeScript from "@/components/Current/AdobeScript"
import Footer from "@/components/Current/Footer"
import Header from "@/components/Current/Header"
@@ -71,6 +72,7 @@ export default async function RootLayout({
myPagesMobileDropdown={myPagesMobileDropdown}
languageSwitcher={languageSwitcher}
/>
+
{children}
diff --git a/components/BookingWidget/index.tsx b/components/BookingWidget/index.tsx
deleted file mode 100644
index 5d4bc4dbd..000000000
--- a/components/BookingWidget/index.tsx
+++ /dev/null
@@ -1,11 +0,0 @@
-import Form from "../Forms/BookingWidget"
-
-import styles from "./bookingWidget.module.css"
-
-export function BookingWidget() {
- return (
-
- )
-}
diff --git a/components/BookingWidgetContainer/index.tsx b/components/BookingWidgetContainer/index.tsx
new file mode 100644
index 000000000..bed207dde
--- /dev/null
+++ b/components/BookingWidgetContainer/index.tsx
@@ -0,0 +1,23 @@
+import { serverClient } from "@/lib/trpc/server"
+import { getLang } from "@/i18n/serverContext"
+
+import Form from "@/components/Forms/BookingWidget"
+import styles from "./bookingWidget.module.css"
+
+export default async function BookingWidgetContainer() {
+ // Get the booking widget show/hide status based on page specific settings
+ const bookingWidgetToggle =
+ await serverClient().contentstack.base.page_settings({
+ lang: getLang(),
+ })
+
+ return (
+ <>
+ {bookingWidgetToggle && bookingWidgetToggle.hideBookingWidget ? null : (
+
+ )}
+ >
+ )
+}
diff --git a/components/Current/Header/index.tsx b/components/Current/Header/index.tsx
index a13346c22..ad3ce1eb0 100644
--- a/components/Current/Header/index.tsx
+++ b/components/Current/Header/index.tsx
@@ -1,8 +1,6 @@
import { homeHrefs } from "@/constants/homeHrefs"
import { env } from "@/env/server"
import { serverClient } from "@/lib/trpc/server"
-
-import { BookingWidget } from "@/components/BookingWidget"
import { getLang } from "@/i18n/serverContext"
import { MainMenu } from "./MainMenu"
@@ -24,12 +22,6 @@ export default async function Header({
const user = await serverClient().user.name()
- // Get the booking widget show/hide status based on page specific settings
- const bookingWidgetToggle =
- await serverClient().contentstack.base.page_settings({
- lang: getLang(),
- })
-
if (!data) {
return null
}
@@ -61,9 +53,6 @@ export default async function Header({
bookingHref={homeHref}
user={user}
/>
- {bookingWidgetToggle && bookingWidgetToggle.hideBookingWidget ? null : (
-
- )}
)
}
diff --git a/components/BookingWidget/bookingWidget.module.css b/components/Forms/BookingWidget/bookingWidget.module.css
similarity index 100%
rename from components/BookingWidget/bookingWidget.module.css
rename to components/Forms/BookingWidget/bookingWidget.module.css