import type { Metadata } from "next";
import { setRequestLocale } from "next-intl/server";
import { localeAlternates } from "@/lib/seo";
import { getLocalizedProducts } from "@/data/localized-data";

export async function generateMetadata({
  params,
}: {
  params: Promise<{ locale: string; slug: string }>;
}): Promise<Metadata> {
  const { locale, slug } = await params;
  const product = getLocalizedProducts(locale).find((p) => p.slug === slug);

  const title = `${product?.name ?? "Product"} | Original Nest`;
  const description =
    product?.description ??
    "Premium HACCP-certified edible bird's nest from Original Nest Indonesia.";

  return {
    title,
    description,
    alternates: localeAlternates(locale, `/products/${slug}`),
    openGraph: {
      title,
      description,
      type: "website",
    },
    twitter: {
      card: "summary_large_image",
      title,
      description,
    },
  };
}

export default async function ProductDetailLayout({
  children,
  params,
}: {
  children: React.ReactNode;
  params: Promise<{ locale: string; slug: string }>;
}) {
  const { locale } = await params;
  setRequestLocale(locale);
  return children;
}
