// pages/api/sitemap.ts
import { db } from '../../firebase/firebase';
import { collection, getDocs, query, where } from 'firebase/firestore';

export default async function handler(req, res) {
  const flashcardsCol = collection(db, 'flashcards');
  const q = query(flashcardsCol, where('visibility', '==', 'public'));
  const snapshot = await getDocs(q);

  // Get unique set names
  const sets = new Set<string>();
  snapshot.forEach(doc => {
    const data = doc.data();
    if (data.setName) sets.add(data.setName);
  });

  const urls = Array.from(sets).map(setName => 
    `<url><loc>https://flashgenie.app/premium/sets2?setName=${encodeURIComponent(setName)}&isPublic=true</loc><priority>0.8</priority></url>`
  ).join('');

  const sitemap = `<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://flashgenie.app/</loc><priority>1.0</priority></url>
  <url><loc>https://flashgenie.app/public</loc><priority>0.9</priority></url>
  ${urls}
</urlset>`;

  res.setHeader('Content-Type', 'text/xml');
  res.status(200).send(sitemap);
}
