import { notFound } from "next/navigation"; import { Footer } from "@/components/Footer"; import { Header } from "@/components/Header"; import { PageHero } from "@/components/PageShared"; import { PortfolioDetailView } from "@/components/PortfolioDetail"; import { portfoliosFallback } from "@/data/portfolios"; import { getPortfolio } from "@/lib/meshkee"; type PageProps = { params: Promise<{ slug: string }>; }; export async function generateStaticParams() { return portfoliosFallback.map((item) => ({ slug: item.slug })); } export async function generateMetadata({ params }: PageProps) { const { slug } = await params; const { item } = await getPortfolio(slug); if (!item) { return { title: "پروژه", robots: { index: false, follow: true }, }; } const description = item.description || `نمونه کار ${item.title} — شرکت رسام تجارت هواران`; const image = item.coverImage || item.image || "/images/brand/logo.png"; return { title: item.title, description, alternates: { canonical: `/portfolios/${item.slug}`, }, openGraph: { type: "website", locale: "fa_IR", url: `/portfolios/${item.slug}`, siteName: "رسام تجارت هواران", title: item.title, description, images: [{ url: image, alt: item.title }], }, twitter: { card: "summary_large_image", title: item.title, description, images: [image], }, }; } export default async function PortfolioDetailPage({ params }: PageProps) { const { slug } = await params; const { item } = await getPortfolio(slug); if (!item) notFound(); return ( <>