import type { Metadata } from "next";
import { setRequestLocale } from "next-intl/server";
import { Header } from "@/components/layout/header";
import { Footer } from "@/components/layout/footer";
import { localeAlternates } from "@/lib/seo";

export async function generateMetadata({
  params,
}: {
  params: Promise<{ locale: string }>;
}): Promise<Metadata> {
  const { locale } = await params;
  const titles: Record<string, string> = {
    en: "Wholesale Edible Bird's Nest Products | Original Nest",
    id: "Produk Sarang Burung Walet Grosir | Original Nest",
    zh: "燕窝产品批发 | Original Nest",
  };
  const descriptions: Record<string, string> = {
    en: "Explore our complete range of HACCP-certified, hand-cleaned edible bird's nest — sourced directly from our licensed facilities in Indonesia.",
    id: "Jelajahi rangkaian lengkap sarang burung walet bersertifikat HACCP yang dibersihkan dengan tangan — langsung dari fasilitas berlisensi kami di Indonesia.",
    zh: "探索我们全系列通过HACCP认证、手工清洗的可食用燕窝——直接来自我们在印尼的持牌生产基地。",
  };
  const title = titles[locale] ?? titles.en;
  const description = descriptions[locale] ?? descriptions.en;
  return {
    title,
    description,
    alternates: localeAlternates(locale, "/products"),
    openGraph: {
      title,
      description,
      type: "website",
      images: [{ url: "/images/bg-hero.png", width: 1200, height: 630, alt: title }],
    },
    twitter: {
      card: "summary_large_image",
      title,
      description,
      images: ["/images/bg-hero.png"],
    },
  };
}

export default async function ProductsLayout({
  children,
  params,
}: {
  children: React.ReactNode;
  params: Promise<{ locale: string }>;
}) {
  const { locale } = await params;
  setRequestLocale(locale);
  return (
    <>
      <Header />
      {children}
      <Footer />
    </>
  );
}
