import { MetadataRoute } from "next";
import { prisma } from "@/lib/prisma";

export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
  const baseUrl = "https://whate.online";

  // Static pages
  const staticPages: MetadataRoute.Sitemap = [
    {
      url: baseUrl,
      lastModified: new Date(),
      changeFrequency: "monthly",
      priority: 1,
    },
    {
      url: `${baseUrl}/home`,
      lastModified: new Date(),
      changeFrequency: "daily",
      priority: 0.9,
    },
    {
      url: `${baseUrl}/home/explore`,
      lastModified: new Date(),
      changeFrequency: "weekly",
      priority: 0.8,
    },
  ];

  // Meal pages — all slugs
  const meals = await prisma.meal.findMany({
    select: { slug: true, createdAt: true },
    orderBy: { createdAt: "asc" },
  });

  const mealPages: MetadataRoute.Sitemap = meals.map((meal) => ({
    url: `${baseUrl}/meal/${meal.slug}`,
    lastModified: meal.createdAt,
    changeFrequency: "monthly" as const,
    priority: 0.7,
  }));

  return [...staticPages, ...mealPages];
}