fix: page and blog detail meta tags
This commit is contained in:
parent
6fc4988506
commit
0a32380c4c
@ -15,6 +15,7 @@ export async function generateMetadata({ params }: { params: Promise<{ slug: str
|
||||
let publishedAt = "";
|
||||
let updatedAt = "";
|
||||
let imgUrl = "";
|
||||
let createdByName = "";
|
||||
|
||||
const slug = (await params).slug;
|
||||
const blog = await fetchBlogDetail(slug);
|
||||
@ -26,6 +27,9 @@ export async function generateMetadata({ params }: { params: Promise<{ slug: str
|
||||
imgUrl = blog.imgUrl;
|
||||
publishedAt = blog.data.createdAt;
|
||||
updatedAt = blog.data.updatedAt;
|
||||
if (!!blog?.data?.createdBy && typeof blog.data.createdBy !== "number") {
|
||||
createdByName = blog.data.createdBy?.name ?? "";
|
||||
}
|
||||
} else {
|
||||
// check for page data when blog is not found
|
||||
const page = await fetchPageBySlug({ slug });
|
||||
@ -35,22 +39,35 @@ export async function generateMetadata({ params }: { params: Promise<{ slug: str
|
||||
imgUrl = page.heroImg?.url;
|
||||
publishedAt = page.createdAt;
|
||||
updatedAt = page.updatedAt;
|
||||
|
||||
if (!!page?.createdBy && typeof page.createdBy !== "number") {
|
||||
createdByName = page?.createdBy?.name ?? "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
defaultMetadata.title = title;
|
||||
defaultMetadata.description = description;
|
||||
if (!!defaultMetadata.openGraph) {
|
||||
defaultMetadata.openGraph.title = title;
|
||||
// @ts-ignore
|
||||
defaultMetadata.openGraph.type = "article";
|
||||
defaultMetadata.openGraph.description = description;
|
||||
defaultMetadata.openGraph.title = title;
|
||||
defaultMetadata.openGraph.description = description;
|
||||
defaultMetadata.openGraph.images = !!imgUrl ? { url: imgUrl } : undefined;
|
||||
}
|
||||
defaultMetadata.twitter = {
|
||||
card: "summary_large_image",
|
||||
title: title,
|
||||
description: description,
|
||||
images: !!imgUrl ? { url: imgUrl } : undefined,
|
||||
};
|
||||
defaultMetadata.other = {
|
||||
"article:published_time": publishedAt,
|
||||
"article:modified_time": updatedAt,
|
||||
"twitter:label1": "Written by",
|
||||
"twitter:data1": !!createdByName ? createdByName : "Admin",
|
||||
"twitter:label2": "Est. reading time",
|
||||
"twitter:data2": "3 minutes",
|
||||
};
|
||||
|
||||
return defaultMetadata;
|
||||
|
Loading…
x
Reference in New Issue
Block a user