import categoryService from "@/lib/services/category";
import { generateSEO } from "@/modules/common/seo";
import Index from "@/modules/products-details";
import { Metadata } from "next";

type Props = {
  params: Promise<{ category: string; slug: string }>;
};

// export async function generateMetadata(props: Props): Promise<Metadata> {
//   const params = await props.params;

//   return {
//     title: "Vibrant Printing & Graphics",
//     description: params.slug,
//   };
// }

export async function generateMetadata({ params }: Props): Promise<Metadata> {
  const { slug, category } = await params;

  // fetch product/category data
  const response = await categoryService.fetchCategoryBySlug(slug);
  const data = response?.data;

  if (!data?._id) {
    return generateSEO({
      title: "Product Not Found",
      description: "This product no longer exists.",
      url: `https://vibrant-print.vercel.app/${category}/${slug}`
    });
  }

  return generateSEO({
    title: data.metaTitle || "Vibrant Printing & Graphics",
    description: data.metaDescription || "",
    url: `https://vibrant-print.vercel.app/${category}/${slug}`,
    image: data?.image || "/og-image.png",
    keywords: data.metaKeywords?.split(",") || []
  });
}

export default async function Page(props: Props) {
  const { category, slug } = await props.params;

  return <Index category={category} slug={slug} />;
}
