import { notFound } from "next/navigation";
import { createArticleMetadata, LibraryArticlePage } from "@/components/LibraryArticlePage";
import type { Locale } from "@/content/site";
import { getArticleSummaries } from "@/lib/library";

export const dynamicParams = false;

export function generateStaticParams() {
  return (["en", "ar"] as const).flatMap((locale) =>
    getArticleSummaries(locale).map((article) => ({ locale, slug: article.slug })),
  );
}

export async function generateMetadata({ params }: { params: Promise<{ locale: string; slug: string }> }) {
  const { locale, slug } = await params;
  return locale === "en" || locale === "ar" ? createArticleMetadata(locale, slug) : {};
}

export default async function KnowledgeArticleRoute({ params }: { params: Promise<{ locale: string; slug: string }> }) {
  const { locale, slug } = await params;
  if (locale !== "en" && locale !== "ar") notFound();
  return <LibraryArticlePage locale={locale as Locale} slug={slug} />;
}
