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: "How Edible Bird's Nest Is Made — 12 Stages | Original Nest",
    id: "Proses Produksi Sarang Burung Walet — 12 Tahap | Original Nest",
    zh: "燕窝制作工艺 — 12道工序 | Original Nest",
  };
  const descriptions: Record<string, string> = {
    en: "From eco-friendly bird houses to worldwide cargo — explore all 12 stages of Original Nest's premium bird's nest production process.",
    id: "Dari rumah walet ramah lingkungan hingga pengiriman ke seluruh dunia — telusuri seluruh 12 tahap proses produksi sarang burung walet premium Original Nest.",
    zh: "从环保燕屋到全球货运——探索Original Nest优质燕窝生产的全部12道工序。",
  };
  const title = titles[locale] ?? titles.en;
  const description = descriptions[locale] ?? descriptions.en;
  return {
    title,
    description,
    alternates: localeAlternates(locale, "/process"),
    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 ProcessLayout({
  children,
  params,
}: {
  children: React.ReactNode;
  params: Promise<{ locale: string }>;
}) {
  const { locale } = await params;
  setRequestLocale(locale);
  return (
    <>
      <Header />
      {children}
      <Footer />
    </>
  );
}
