feat(SW-266): Replacing static metadata with data from Contentstack on Loyalty pages and Account Pages
This commit is contained in:
39
utils/generateMetadata.ts
Normal file
39
utils/generateMetadata.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
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<LangParams> & { pageTitle?: string }): Promise<Metadata> {
|
||||
console.log("PARAMS", params)
|
||||
const metaData: MetaData | never[] | null =
|
||||
await serverClient().contentstack.metaData.get()
|
||||
|
||||
if (Array.isArray(metaData)) {
|
||||
return {
|
||||
title: pageTitle ?? "",
|
||||
description: "",
|
||||
openGraph: {
|
||||
images: [],
|
||||
},
|
||||
}
|
||||
}
|
||||
const title = metaData?.title ?? pageTitle ?? ""
|
||||
const description = metaData?.description ?? ""
|
||||
const images =
|
||||
metaData?.imageConnection?.edges?.map((edge) => ({
|
||||
url: edge.node.url,
|
||||
})) || []
|
||||
|
||||
return {
|
||||
title,
|
||||
description,
|
||||
openGraph: {
|
||||
images,
|
||||
},
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user