From a0fede38758755a16d26c9f69592118ff03887cf Mon Sep 17 00:00:00 2001 From: Pontus Dreij Date: Wed, 21 Aug 2024 15:27:44 +0200 Subject: [PATCH] feat(SW-266): Moved logic for breadcrumbs since I cant pass custom prop to generateMetadata --- .env.test | 2 ++ .../(protected)/my-pages/[...path]/page.tsx | 12 ----------- .../(public)/[contentType]/[uid]/page.tsx | 21 ------------------- utils/generateMetadata.ts | 13 +++++------- 4 files changed, 7 insertions(+), 41 deletions(-) diff --git a/.env.test b/.env.test index 8d70bab9d..801c4336b 100644 --- a/.env.test +++ b/.env.test @@ -12,6 +12,7 @@ CURITY_CLIENT_SECRET_SERVICE="test" CURITY_CLIENT_ID_USER="test" CURITY_CLIENT_SECRET_USER="test" CURITY_ISSUER_USER="test" +CURITY_ISSUER_SERVICE="test" CYPRESS_API_BASEURL="test" CYPRESS_CURITY_USERNAME="test" CYPRESS_CURITY_PASSWORD="test" @@ -35,3 +36,4 @@ SEAMLESS_LOGOUT_FI="test" SEAMLESS_LOGOUT_NO="test" SEAMLESS_LOGOUT_SV="test" WEBVIEW_ENCRYPTION_KEY="test" +BOOKING_ENCRYPTION_KEY="test" diff --git a/app/[lang]/(live)/(protected)/my-pages/[...path]/page.tsx b/app/[lang]/(live)/(protected)/my-pages/[...path]/page.tsx index c153db1a4..012c40de2 100644 --- a/app/[lang]/(live)/(protected)/my-pages/[...path]/page.tsx +++ b/app/[lang]/(live)/(protected)/my-pages/[...path]/page.tsx @@ -5,23 +5,11 @@ import Title from "@/components/TempDesignSystem/Text/Title" import TrackingSDK from "@/components/TrackingSDK" import { getIntl } from "@/i18n" import { setLang } from "@/i18n/serverContext" -import { generateMetadata as generateBaseMetadata } from "@/utils/generateMetadata" import styles from "./page.module.css" import type { LangParams, PageArgs } from "@/types/params" -export async function generateMetadata({ params }: PageArgs) { - const breadcrumbs = await serverClient().contentstack.breadcrumbs.get() - if (!breadcrumbs?.length) { - return null - } - return generateBaseMetadata({ - params, - pageTitle: breadcrumbs.at(-1)?.title, - }) -} - export default async function MyPages({ params, }: PageArgs) { diff --git a/app/[lang]/(live)/(public)/[contentType]/[uid]/page.tsx b/app/[lang]/(live)/(public)/[contentType]/[uid]/page.tsx index 655f34ee1..0e8e98a05 100644 --- a/app/[lang]/(live)/(public)/[contentType]/[uid]/page.tsx +++ b/app/[lang]/(live)/(public)/[contentType]/[uid]/page.tsx @@ -1,12 +1,9 @@ import { notFound } from "next/navigation" -import { serverClient } from "@/lib/trpc/server" - import ContentPage from "@/components/ContentType/ContentPage" import HotelPage from "@/components/ContentType/HotelPage/HotelPage" import LoyaltyPage from "@/components/ContentType/LoyaltyPage/LoyaltyPage" import { setLang } from "@/i18n/serverContext" -import { generateMetadata as generateBaseMetadata } from "@/utils/generateMetadata" import { ContentTypeParams, @@ -15,24 +12,6 @@ import { UIDParams, } from "@/types/params" -export async function generateMetadata({ - params, -}: PageArgs) { - switch (params.contentType) { - case "loyalty-page": - const breadcrumbs = await serverClient().contentstack.breadcrumbs.get() - if (!breadcrumbs?.length) { - return null - } - return generateBaseMetadata({ - params, - pageTitle: breadcrumbs.at(-1)?.title, - }) - default: - return - } -} - export default async function ContentTypePage({ params, }: PageArgs) { diff --git a/utils/generateMetadata.ts b/utils/generateMetadata.ts index 11a09d34f..6f321f853 100644 --- a/utils/generateMetadata.ts +++ b/utils/generateMetadata.ts @@ -3,16 +3,12 @@ import { Metadata } from "next" import { serverClient } from "@/lib/trpc/server" import { MetaData } from "@/types/components/metadata" -import { LangParams, PageArgs } from "@/types/params" -export async function generateMetadata({ - params, - pageTitle, -}: PageArgs & { - pageTitle?: string -}): Promise { +export async function generateMetadata(): Promise { const metaData: MetaData | never[] | null = await serverClient().contentstack.metaData.get() + const breadcrumbs = await serverClient().contentstack.breadcrumbs.get() + const pageTitle = breadcrumbs?.at(-1)?.title if (Array.isArray(metaData)) { return { @@ -23,7 +19,8 @@ export async function generateMetadata({ }, } } - const title = metaData?.title ?? pageTitle ?? "" + + const title = pageTitle ?? metaData?.title ?? "" // Use pageTitle first const description = metaData?.description ?? "" const images = metaData?.imageConnection?.edges?.map((edge) => ({