45 lines
1011 B
TypeScript
45 lines
1011 B
TypeScript
import { RawMetaDataSchema } from "@/types/trpc/routers/contentstack/metadata"
|
|
|
|
export const affix = "metadata"
|
|
|
|
export function getTitle(data: RawMetaDataSchema) {
|
|
const metaData = data.web.seo_metadata
|
|
if (metaData?.title) {
|
|
return metaData.title
|
|
}
|
|
if (data.web?.breadcrumbs?.title) {
|
|
return data.web.breadcrumbs.title
|
|
}
|
|
if (data.heading) {
|
|
return data.heading
|
|
}
|
|
if (data.header?.heading) {
|
|
return data.header.heading
|
|
}
|
|
return ""
|
|
}
|
|
|
|
export function getDescription(data: RawMetaDataSchema) {
|
|
const metaData = data.web.seo_metadata
|
|
if (metaData?.description) {
|
|
return metaData.description
|
|
}
|
|
if (data.preamble) {
|
|
return data.preamble
|
|
}
|
|
if (data.header?.preamble) {
|
|
return data.header.preamble
|
|
}
|
|
return ""
|
|
}
|
|
|
|
export function getImages(data: RawMetaDataSchema) {
|
|
const metaData = data.web.seo_metadata
|
|
if (metaData?.imageConnection) {
|
|
return metaData.imageConnection.edges.map((edge) => ({
|
|
url: edge.node.url,
|
|
}))
|
|
}
|
|
return []
|
|
}
|