import { notFound, permanentRedirect } from "next/navigation"; import { Metadata } from "next"; import { BlogDetailContent } from "@/components/blog-detail-content"; import { ArticleJsonLd } from "@/components/json-ld"; import { getBlogDetailBySlug } from "@/data/blog-detail"; import { isNewsletterCategory } from "@/data/blog"; const SITE_URL = process.env.NEXT_PUBLIC_SITE_URL || "https://poyrazavsever.com"; type BlogDetailPageProps = { params: Promise<{ locale: string; slug: string }>; }; export async function generateMetadata({ params }: BlogDetailPageProps): Promise { const { locale, slug } = await params; const post = await getBlogDetailBySlug(slug); if (!post || post.lang !== locale) { return { title: "Yazı Bulunamadı", }; } const url = `${SITE_URL}/blog/${post.slug}`; return { title: post.title, description: post.excerpt, openGraph: { title: post.title, description: post.excerpt, url, type: "article", publishedTime: post.date, authors: [post.author], images: [ { url: post.coverImage, width: 1200, height: 630, alt: post.title, }, ], }, twitter: { card: "summary_large_image", title: post.title, description: post.excerpt, images: [post.coverImage], }, }; } export default async function BlogDetailPage({ params }: BlogDetailPageProps) { const { locale, slug } = await params; const post = await getBlogDetailBySlug(slug); if (!post || post.lang !== locale) { notFound(); } if (isNewsletterCategory(post.category)) { const localePrefix = locale === "tr" ? "" : `/${locale}`; permanentRedirect(`${localePrefix}/agenda/${post.slug}`); } return ( <> ); }