import type { Metadata } from "next";
import { setRequestLocale } from "next-intl/server";
import { localeAlternates } from "@/lib/seo";
import { getLocalizedSoHealthyProducts } from "@/data/localized-data";

export async function generateMetadata({
  params,
}: {
  params: Promise<{ locale: string; slug: string }>;
}): Promise<Metadata> {
  const { locale, slug } = await params;
  const product = getLocalizedSoHealthyProducts(locale).find((p) => p.id === slug);

  const title = `${product?.nameEn ?? "SoHealthy"} | SoHealthy — Original Nest`;
  const description =
    product?.description ??
    "SoHealthy premium edible bird's nest collection by Original Nest.";

  return {
    title,
    description,
    alternates: localeAlternates(locale, `/sohealthy/${slug}`),
    openGraph: {
      title,
      description,
      type: "website",
    },
    twitter: {
      card: "summary_large_image",
      title,
      description,
    },
  };
}

export default async function SoHealthyDetailLayout({
  children,
  params,
}: {
  children: React.ReactNode;
  params: Promise<{ locale: string; slug: string }>;
}) {
  const { locale } = await params;
  setRequestLocale(locale);
  return children;
}
