feat(SW-266): Replacing static metadata with data from Contentstack on Loyalty pages and Account Pages

This commit is contained in:
Pontus Dreij
2024-08-19 13:03:46 +02:00
parent f561ca750c
commit c730fa7035
16 changed files with 316 additions and 8 deletions

39
utils/generateMetadata.ts Normal file
View 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,
},
}
}