import { sitemapStaticPages } from "@/constants/page";

export const dynamic = "force-dynamic";

export async function GET(): Promise<Response> {
    const baseUrl = process.env.NEXT_PUBLIC_APP_BASE_URL || 'https://dynatech.ae';

    const dynamicSlugs = Array.from(new Set(Object.values(sitemapStaticPages)));
    const dynamicPagesList = dynamicSlugs.map((slug) => ({
        url: `/${slug}`,
        priority: "0.7",
    }));

    const allPages = [{ url: '/', priority: '0.7' }, ...dynamicPagesList,];

    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>${new Date().toISOString()}</lastmod>
        <priority>${page.priority}</priority>
      </url>`,
            )
            .join("")}
    </urlset>`;

    return new Response(sitemap, {
        headers: { "Content-Type": "application/xml" },
    });
}
