import type { Metadata } from "next";
import GalleryShowcase from "@/components/GalleryShowcase";
import Navbar from "@/components/Navbar";
import Footer from "@/components/Footer";
import CinematicMotionProvider from "@/components/CinematicMotionProvider";
import JsonLdScript from "@/components/JsonLdScript";
import { resolveLocale } from "@/lib/media-library";
import { getTranslations } from "next-intl/server";
import { buildLocalizedPageMetadata } from "@/lib/seo";
import { buildGalleryStructuredData } from "@/lib/public-page-seo";
import { getPublishedGallery } from "@/lib/admin-content";

const metadataCopy = {
  tr: { title: "Norden Gallery | Filmler ve Tasarım Kareleri", description: "Norden tanıtım filmlerini, ürün atmosferini ve seçili tasarım karelerini keşfedin." },
  en: { title: "Norden Gallery | Films and Design Frames", description: "Explore Norden brand films, product atmosphere and selected design frames." },
  ru: { title: "Галерея Norden | Фильмы и дизайн", description: "Имиджевые фильмы Norden, атмосфера продукта и избранные кадры дизайна." },
};

export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
  const { locale } = await params;
  const activeLocale = resolveLocale(locale);
  const copy = metadataCopy[activeLocale];
  return buildLocalizedPageMetadata({
    locale: activeLocale,
    pathname: "/gallery",
    title: copy.title.replace(/\s*\|.*$/, ""),
    description: copy.description,
    image: "/media/gallery/images/portfolio_3.jpg",
    imageAlt: copy.title,
  });
}

export default async function GalleryPage({ params }: { params: Promise<{ locale: string }> }) {
  const { locale } = await params;
  const activeLocale = resolveLocale(locale);
  const copy = metadataCopy[activeLocale];
  const t = await getTranslations({ locale: activeLocale });
  const gallery = await getPublishedGallery();
  const structuredData = buildGalleryStructuredData({
    locale: activeLocale,
    name: copy.title,
    description: copy.description,
    breadcrumbs: [
      { name: t("catalog.home"), pathname: "" },
      { name: copy.title.replace(/\s*\|.*$/, ""), pathname: "/gallery" },
    ],
    films: gallery.films,
    images: gallery.images,
  });
  return (
    <div className="min-h-screen bg-surface-0">
      <JsonLdScript data={structuredData} />
      <Navbar logoUrl="/brand/norden.png" locale={locale} />
      <CinematicMotionProvider>
        <GalleryShowcase locale={locale} films={gallery.films} images={gallery.images} />
      </CinematicMotionProvider>
      <Footer />
    </div>
  );
}
