// generate-sitemap.ts
import { writeFileSync } from "fs";
import { prisma } from "./src/utils/prisma";

async function generateSitemap() {
  // Get last menu update time
  const lastMenuUpdate = await prisma.menuItem.findFirst({
    orderBy: { updatedAt: "desc" },
    select: { updatedAt: true }
  });

  const today = new Date().toISOString().split("T")[0];
  const menuDate = lastMenuUpdate?.updatedAt.toISOString().split("T")[0] ?? today;

  const sitemap = `<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">

  <url>
    <loc>https://bingeonburgers.com/</loc>
    <lastmod>${today}</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>

  <url>
    <loc>https://bingeonburgers.com/menu</loc>
    <lastmod>${menuDate}</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>

  <url>
    <loc>https://bingeonburgers.com/dine-in</loc>
    <lastmod>${today}</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://bingeonburgers.com/franchise</loc>
    <lastmod>${today}</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://bingeonburgers.com/contact</loc>
    <lastmod>${today}</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

</urlset>`;

  writeFileSync("public/sitemap.xml", sitemap);
  console.log("Sitemap generated:", today);
  await prisma.$disconnect();
}

generateSitemap();