import type { MetadataRoute } from "next"; import { prisma } from "@/lib/prisma"; import { absoluteUrl } from "@/lib/site"; export default async function sitemap(): Promise { const trips = await prisma.trip.findMany({ where: { status: { in: ["OPEN", "FULL"] } }, select: { id: true, updatedAt: true }, orderBy: { updatedAt: "desc" }, }); const now = new Date(); const staticEntries: MetadataRoute.Sitemap = [ { url: absoluteUrl("/"), lastModified: now, changeFrequency: "daily", priority: 1, }, { url: absoluteUrl("/trips"), lastModified: now, changeFrequency: "hourly", priority: 0.9, }, { url: absoluteUrl("/register"), lastModified: now, changeFrequency: "yearly", priority: 0.3, }, ]; const tripEntries: MetadataRoute.Sitemap = trips.map((t) => ({ url: absoluteUrl(`/trips/${t.id}`), lastModified: t.updatedAt, changeFrequency: "daily", priority: 0.8, })); return [...staticEntries, ...tripEntries]; }