import type { MetadataRoute } from "next";
import { locales, pageSlugs } from "@/content/site";
import { libraryPath } from "@/content/libraryPaths";
import { serviceKeys, servicePath } from "@/content/services";
import { getArticleSummaries } from "@/lib/library";

export const dynamic = "force-static";

export default function sitemap(): MetadataRoute.Sitemap {
  const base = "https://yashalstudios.com";
  const pages = locales.flatMap((locale) => [
    { url: `${base}/${locale}/`, lastModified: new Date("2026-08-01"), changeFrequency: "monthly" as const, priority: locale === "fr" ? 1 : 0.9 },
    ...pageSlugs.filter((page) => page !== "legal" && page !== "privacy").map((page) => ({
      url: `${base}/${locale}/${page}/`,
      lastModified: new Date("2026-08-01"),
      changeFrequency: "monthly" as const,
      priority: 0.8,
    })),
    ...serviceKeys.map((service) => ({
      url: `${base}${servicePath(locale, service)}`,
      lastModified: new Date("2026-08-01"),
      changeFrequency: "monthly" as const,
      priority: 0.85,
    })),
    {
      url: `${base}${libraryPath(locale)}`,
      lastModified: new Date("2026-08-03"),
      changeFrequency: "weekly" as const,
      priority: 0.82,
    },
    ...getArticleSummaries(locale).map((article) => ({
      url: `${base}${libraryPath(locale, article.slug)}`,
      lastModified: new Date(article.updatedAt ?? article.publishedAt),
      changeFrequency: "monthly" as const,
      priority: 0.7,
    })),
  ]);
  return pages;
}
