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: "Bird's Nest Factory in Indonesia Since 1997 | Original Nest",
    id: "Pabrik Sarang Burung Walet Indonesia Sejak 1997 | Original Nest",
    zh: "印尼燕窝工厂，始于1997年 | Original Nest",
  };
  const descriptions: Record<string, string> = {
    en: "A family-owned factory since 1997 — Indonesia's most awarded bird's nest exporter. From 15 workers to over 1,000 employees, shipping to 13 countries worldwide.",
    id: "Pabrik milik keluarga sejak 1997 — eksportir sarang burung walet paling banyak meraih penghargaan di Indonesia. Dari 15 pekerja menjadi lebih dari 1.000 karyawan, mengirim ke 13 negara di seluruh dunia.",
    zh: "自1997年成立的家族工厂——印尼获奖最多的燕窝出口商。从15名工人发展到超过1,000名员工，产品远销全球13个国家。",
  };
  const title = titles[locale] ?? titles.en;
  const description = descriptions[locale] ?? descriptions.en;
  return {
    title,
    description,
    alternates: localeAlternates(locale, "/about"),
    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 AboutLayout({
  children,
  params,
}: {
  children: React.ReactNode;
  params: Promise<{ locale: string }>;
}) {
  const { locale } = await params;
  setRequestLocale(locale);
  return (
    <>
      <Header />
      {children}
      <Footer />
    </>
  );
}
