feat(SW-266): Moved logic for breadcrumbs since I cant pass custom prop to generateMetadata
This commit is contained in:
@@ -12,6 +12,7 @@ CURITY_CLIENT_SECRET_SERVICE="test"
|
|||||||
CURITY_CLIENT_ID_USER="test"
|
CURITY_CLIENT_ID_USER="test"
|
||||||
CURITY_CLIENT_SECRET_USER="test"
|
CURITY_CLIENT_SECRET_USER="test"
|
||||||
CURITY_ISSUER_USER="test"
|
CURITY_ISSUER_USER="test"
|
||||||
|
CURITY_ISSUER_SERVICE="test"
|
||||||
CYPRESS_API_BASEURL="test"
|
CYPRESS_API_BASEURL="test"
|
||||||
CYPRESS_CURITY_USERNAME="test"
|
CYPRESS_CURITY_USERNAME="test"
|
||||||
CYPRESS_CURITY_PASSWORD="test"
|
CYPRESS_CURITY_PASSWORD="test"
|
||||||
@@ -35,3 +36,4 @@ SEAMLESS_LOGOUT_FI="test"
|
|||||||
SEAMLESS_LOGOUT_NO="test"
|
SEAMLESS_LOGOUT_NO="test"
|
||||||
SEAMLESS_LOGOUT_SV="test"
|
SEAMLESS_LOGOUT_SV="test"
|
||||||
WEBVIEW_ENCRYPTION_KEY="test"
|
WEBVIEW_ENCRYPTION_KEY="test"
|
||||||
|
BOOKING_ENCRYPTION_KEY="test"
|
||||||
|
|||||||
@@ -5,23 +5,11 @@ import Title from "@/components/TempDesignSystem/Text/Title"
|
|||||||
import TrackingSDK from "@/components/TrackingSDK"
|
import TrackingSDK from "@/components/TrackingSDK"
|
||||||
import { getIntl } from "@/i18n"
|
import { getIntl } from "@/i18n"
|
||||||
import { setLang } from "@/i18n/serverContext"
|
import { setLang } from "@/i18n/serverContext"
|
||||||
import { generateMetadata as generateBaseMetadata } from "@/utils/generateMetadata"
|
|
||||||
|
|
||||||
import styles from "./page.module.css"
|
import styles from "./page.module.css"
|
||||||
|
|
||||||
import type { LangParams, PageArgs } from "@/types/params"
|
import type { LangParams, PageArgs } from "@/types/params"
|
||||||
|
|
||||||
export async function generateMetadata({ params }: PageArgs<LangParams>) {
|
|
||||||
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({
|
export default async function MyPages({
|
||||||
params,
|
params,
|
||||||
}: PageArgs<LangParams & { path: string[] }>) {
|
}: PageArgs<LangParams & { path: string[] }>) {
|
||||||
|
|||||||
@@ -1,12 +1,9 @@
|
|||||||
import { notFound } from "next/navigation"
|
import { notFound } from "next/navigation"
|
||||||
|
|
||||||
import { serverClient } from "@/lib/trpc/server"
|
|
||||||
|
|
||||||
import ContentPage from "@/components/ContentType/ContentPage"
|
import ContentPage from "@/components/ContentType/ContentPage"
|
||||||
import HotelPage from "@/components/ContentType/HotelPage/HotelPage"
|
import HotelPage from "@/components/ContentType/HotelPage/HotelPage"
|
||||||
import LoyaltyPage from "@/components/ContentType/LoyaltyPage/LoyaltyPage"
|
import LoyaltyPage from "@/components/ContentType/LoyaltyPage/LoyaltyPage"
|
||||||
import { setLang } from "@/i18n/serverContext"
|
import { setLang } from "@/i18n/serverContext"
|
||||||
import { generateMetadata as generateBaseMetadata } from "@/utils/generateMetadata"
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
ContentTypeParams,
|
ContentTypeParams,
|
||||||
@@ -15,24 +12,6 @@ import {
|
|||||||
UIDParams,
|
UIDParams,
|
||||||
} from "@/types/params"
|
} from "@/types/params"
|
||||||
|
|
||||||
export async function generateMetadata({
|
|
||||||
params,
|
|
||||||
}: PageArgs<LangParams & ContentTypeParams>) {
|
|
||||||
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({
|
export default async function ContentTypePage({
|
||||||
params,
|
params,
|
||||||
}: PageArgs<LangParams & ContentTypeParams & UIDParams, {}>) {
|
}: PageArgs<LangParams & ContentTypeParams & UIDParams, {}>) {
|
||||||
|
|||||||
@@ -3,16 +3,12 @@ import { Metadata } from "next"
|
|||||||
import { serverClient } from "@/lib/trpc/server"
|
import { serverClient } from "@/lib/trpc/server"
|
||||||
|
|
||||||
import { MetaData } from "@/types/components/metadata"
|
import { MetaData } from "@/types/components/metadata"
|
||||||
import { LangParams, PageArgs } from "@/types/params"
|
|
||||||
|
|
||||||
export async function generateMetadata({
|
export async function generateMetadata(): Promise<Metadata> {
|
||||||
params,
|
|
||||||
pageTitle,
|
|
||||||
}: PageArgs<LangParams> & {
|
|
||||||
pageTitle?: string
|
|
||||||
}): Promise<Metadata> {
|
|
||||||
const metaData: MetaData | never[] | null =
|
const metaData: MetaData | never[] | null =
|
||||||
await serverClient().contentstack.metaData.get()
|
await serverClient().contentstack.metaData.get()
|
||||||
|
const breadcrumbs = await serverClient().contentstack.breadcrumbs.get()
|
||||||
|
const pageTitle = breadcrumbs?.at(-1)?.title
|
||||||
|
|
||||||
if (Array.isArray(metaData)) {
|
if (Array.isArray(metaData)) {
|
||||||
return {
|
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 description = metaData?.description ?? ""
|
||||||
const images =
|
const images =
|
||||||
metaData?.imageConnection?.edges?.map((edge) => ({
|
metaData?.imageConnection?.edges?.map((edge) => ({
|
||||||
|
|||||||
Reference in New Issue
Block a user