Merged in feat/SW-2999-cleanup (pull request #2810)
feat(SW-2999): cleanup current web * feat(SW-2999): cleanup current web * Merge master * Removed unused fonts Approved-by: Joakim Jäderberg
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import NotFound from "@/components/Current/NotFound"
|
||||
import NotFound from "@/components/NotFound"
|
||||
|
||||
import type { LangParams, PageArgs } from "@/types/params"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import NotFound from "@/components/Current/NotFound"
|
||||
import NotFound from "@/components/NotFound"
|
||||
|
||||
export default function NotFoundPage() {
|
||||
return <NotFound />
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
import Header from "@/components/Current/Header"
|
||||
|
||||
import type { LangParams, PageArgs } from "@/types/params"
|
||||
|
||||
export default async function HeaderPage({}: PageArgs<LangParams>) {
|
||||
return <Header />
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import * as Sentry from "@sentry/nextjs"
|
||||
import { useEffect } from "react"
|
||||
|
||||
import { logger } from "@scandic-hotels/common/logger"
|
||||
|
||||
export default function Error({
|
||||
error,
|
||||
}: {
|
||||
error: Error & { digest?: string }
|
||||
}) {
|
||||
useEffect(() => {
|
||||
if (!error) return
|
||||
|
||||
logger.error("header", error)
|
||||
Sentry.captureException(error)
|
||||
}, [error])
|
||||
|
||||
return null
|
||||
}
|
||||
@@ -1,76 +0,0 @@
|
||||
import { notFound } from "next/navigation"
|
||||
|
||||
import { logger } from "@scandic-hotels/common/logger"
|
||||
import { GetCurrentBlockPage } from "@scandic-hotels/trpc/graphql/Query/Current/CurrentBlockPage.graphql"
|
||||
import { GetCurrentBlockPageTrackingData } from "@scandic-hotels/trpc/graphql/Query/Current/CurrentBlockPageTrackingData.graphql"
|
||||
import { request } from "@scandic-hotels/trpc/graphql/request"
|
||||
|
||||
import ContentPage from "@/components/Current/ContentPage"
|
||||
import Tracking from "@/components/Current/Tracking"
|
||||
|
||||
import type { LangParams, PageArgs, UriParams } from "@/types/params"
|
||||
import type { GetCurrentBlockPageData } from "@/types/requests/currentBlockPage"
|
||||
import type { TrackingData } from "@/types/requests/trackingData"
|
||||
|
||||
export default async function CurrentContentPage(
|
||||
props: PageArgs<LangParams, UriParams>
|
||||
) {
|
||||
const searchParams = await props.searchParams
|
||||
const params = await props.params
|
||||
try {
|
||||
if (!searchParams.uri) {
|
||||
throw new Error("Bad URI")
|
||||
}
|
||||
|
||||
const response = await request<GetCurrentBlockPageData>(
|
||||
GetCurrentBlockPage,
|
||||
{
|
||||
locale: params.lang,
|
||||
url: searchParams.uri,
|
||||
},
|
||||
{
|
||||
key: `${params.lang}:current-block-page:${searchParams.uri}`,
|
||||
ttl: "max",
|
||||
}
|
||||
)
|
||||
|
||||
if (!response.data?.all_current_blocks_page?.total) {
|
||||
logger.debug(
|
||||
"#### DATA ####",
|
||||
response.data,
|
||||
"SearchParams URI: ",
|
||||
searchParams.uri
|
||||
)
|
||||
throw new Error("Not found")
|
||||
}
|
||||
|
||||
// This is currently to be considered a temporary solution to provide the tracking with a few values in english to align with existing reports
|
||||
const pageDataForTracking = await request<TrackingData>(
|
||||
GetCurrentBlockPageTrackingData,
|
||||
{ uid: response.data.all_current_blocks_page.items[0].system.uid },
|
||||
{
|
||||
key: `${params.lang}:current-block-page-tracking:${searchParams.uri}`,
|
||||
ttl: "max",
|
||||
}
|
||||
)
|
||||
|
||||
const pageData = response.data.all_current_blocks_page.items[0]
|
||||
|
||||
const trackingData = {
|
||||
lang: params.lang,
|
||||
publishedDate: pageData.system.updated_at,
|
||||
createdDate: pageData.system.created_at,
|
||||
pageId: pageData.system.uid,
|
||||
englishUrl: pageDataForTracking.data?.current_blocks_page.url,
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<ContentPage data={response.data} />
|
||||
<Tracking pageData={trackingData} />
|
||||
</>
|
||||
)
|
||||
} catch {
|
||||
return notFound()
|
||||
}
|
||||
}
|
||||
@@ -1,88 +0,0 @@
|
||||
/* eslint-disable formatjs/no-literal-string-in-jsx */
|
||||
|
||||
import "@scandic-hotels/design-system/fonts.css"
|
||||
import "@/app/globals.css"
|
||||
import "@/public/_static/css/design-system-current-deprecated.css"
|
||||
import "@scandic-hotels/design-system/style.css"
|
||||
|
||||
import Script from "next/script"
|
||||
|
||||
import { Lang } from "@scandic-hotels/common/constants/language"
|
||||
|
||||
import TokenRefresher from "@/components/Auth/TokenRefresher"
|
||||
import CookieBotConsent from "@/components/CookieBot"
|
||||
import AdobeScript from "@/components/Current/AdobeScript"
|
||||
import Footer from "@/components/Current/Footer"
|
||||
import LangPopup from "@/components/Current/LangPopup"
|
||||
import RouteChange from "@/components/RouteChange"
|
||||
import SkipToMainContent from "@/components/SkipToMainContent"
|
||||
import { getMessages } from "@/i18n"
|
||||
import ClientIntlProvider from "@/i18n/Provider"
|
||||
import { setLang } from "@/i18n/serverContext"
|
||||
|
||||
import type { Metadata } from "next"
|
||||
|
||||
import type { LangParams, LayoutArgs } from "@/types/params"
|
||||
|
||||
export const fetchCache = "default-no-store"
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Scandic Hotels",
|
||||
}
|
||||
|
||||
export default async function RootLayout(
|
||||
props: React.PropsWithChildren<
|
||||
LayoutArgs<LangParams> & { header: React.ReactNode }
|
||||
>
|
||||
) {
|
||||
const params = await props.params
|
||||
|
||||
const { children, header } = props
|
||||
|
||||
setLang(params.lang)
|
||||
const messages = await getMessages(params.lang)
|
||||
|
||||
return (
|
||||
<html lang={params.lang}>
|
||||
<head>
|
||||
{/* eslint-disable-next-line @next/next/no-css-tags */}
|
||||
<link rel="stylesheet" href="/_static/css/core.css" />
|
||||
{/* eslint-disable-next-line @next/next/no-css-tags */}
|
||||
<link rel="stylesheet" href="/_static/css/scandic.css" />
|
||||
<Script
|
||||
strategy="beforeInteractive"
|
||||
data-blockingmode="auto"
|
||||
data-cbid="6d539de8-3e67-4f0f-a0df-8cef9070f712"
|
||||
data-culture={params.lang}
|
||||
id="Cookiebot"
|
||||
src="https://consent.cookiebot.com/uc.js"
|
||||
/>
|
||||
<Script id="ensure-datalayer">{`
|
||||
window.datalayer = window.datalayer || {}
|
||||
`}</Script>
|
||||
<AdobeScript />
|
||||
</head>
|
||||
<body className="theme-00Corecolours theme-X0Oldcorecolours">
|
||||
<LangPopup />
|
||||
<SkipToMainContent />
|
||||
<ClientIntlProvider
|
||||
defaultLocale={Lang.en}
|
||||
locale={params.lang}
|
||||
messages={messages}
|
||||
>
|
||||
<RouteChange />
|
||||
{header}
|
||||
{children}
|
||||
<Footer />
|
||||
<TokenRefresher />
|
||||
<CookieBotConsent />
|
||||
</ClientIntlProvider>
|
||||
<Script id="page-tracking">{`
|
||||
if (typeof _satellite !== "undefined" && typeof _satellite.pageBottom === "function") {
|
||||
_satellite.pageBottom();
|
||||
}
|
||||
`}</Script>
|
||||
</body>
|
||||
</html>
|
||||
)
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
import NotFound from "@/components/Current/NotFound"
|
||||
|
||||
export default function NotFoundPage() {
|
||||
return <NotFound />
|
||||
}
|
||||
Reference in New Issue
Block a user