import { MetadataRoute } from "next";
import { getAllHubReports, deriveSlug } from "@/lib/reports-data";

export default function sitemap(): MetadataRoute.Sitemap {
  const baseUrl = "https://meticulousresearch.com";

  /* ---- Static core pages ---- */
  const staticPages: MetadataRoute.Sitemap = [
    {
      url: baseUrl,
      lastModified: new Date(),
      changeFrequency: "daily",
      priority: 1.0,
    },
    {
      url: `${baseUrl}/reports`,
      lastModified: new Date(),
      changeFrequency: "daily",
      priority: 0.9,
    },
    {
      url: `${baseUrl}/custom-research`,
      lastModified: new Date(),
      changeFrequency: "weekly",
      priority: 0.8,
    },
    {
      url: `${baseUrl}/why-meticulous`,
      lastModified: new Date(),
      changeFrequency: "weekly",
      priority: 0.8,
    },
  ];

  /* ---- Dynamic report pages ---- */
  const reports = getAllHubReports();
  const reportPages: MetadataRoute.Sitemap = reports.map((report) => ({
    url: `${baseUrl}/reports/${deriveSlug(report.title)}`,
    lastModified: new Date(),
    changeFrequency: "weekly" as const,
    priority: 0.85,
  }));

  /* ---- Dynamic industry pages ---- */
  const industrySlugs = [
    "healthcare",
    "ict-and-ai",
    "energy",
    "food-and-beverages",
    "chemicals",
    "automotive",
    "semiconductors",
    "aerospace",
  ];
  const industryPages: MetadataRoute.Sitemap = industrySlugs.map((slug) => ({
    url: `${baseUrl}/industries/${slug}`,
    lastModified: new Date(),
    changeFrequency: "weekly" as const,
    priority: 0.7,
  }));

  return [...staticPages, ...reportPages, ...industryPages];
}
