// scripts/generateSitemap.js
const fs = require('fs');
const path = require('path');

// This would typically fetch from your database
const generateSitemap = async () => {
  const baseUrl = 'https://phulpati.com'; // 
  const currentDate = new Date().toISOString().split('T')[0];

  // Static pages
  const staticPages = [
    { url: '/', priority: '1.0', changefreq: 'weekly' },
    { url: '/shop', priority: '0.9', changefreq: 'daily' },
    { url: '/product-category', priority: '0.8', changefreq: 'daily' },
    { url: '/search', priority: '0.7', changefreq: 'weekly' },
    { url: '/about', priority: '0.6', changefreq: 'monthly' },
    { url: '/privacy', priority: '0.5', changefreq: 'monthly' },
  ];

  // You would fetch dynamic pages from your database here
  // Example:
  // const products = await fetchProductsFromDatabase();
  // const dynamicPages = products.map(product => ({
  //   url: `/product/${product.id}`,
  //   priority: '0.7',
  //   changefreq: 'weekly',
  //   lastmod: product.updatedAt
  // }));

  const allPages = [...staticPages]; // Add dynamicPages when you have them

  const sitemap = `<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
${allPages.map(page => `  <url>
    <loc>${baseUrl}${page.url}</loc>
    <lastmod>${page.lastmod || currentDate}</lastmod>
    <changefreq>${page.changefreq}</changefreq>
    <priority>${page.priority}</priority>
  </url>`).join('\n')}
</urlset>`;

  const sitemapPath = path.join(__dirname, '../public/sitemap.xml');
  fs.writeFileSync(sitemapPath, sitemap);
  console.log('Sitemap generated successfully!');
};

// Run the generator
generateSitemap().catch(console.error);

module.exports = generateSitemap;