import { getPublicCatalog } from "@/lib/public-catalog";

const siteUrl = "https://www.arcnexus.store";

// Generate the sitemap from the current catalog.
export const dynamic = "force-dynamic";

export default async function sitemap() {
    const categories = await getPublicCatalog();

    const productSlugs = [
        ...new Set(
            categories.flatMap((category) =>
                category.products
                    .map((product) => product.slug)
                    .filter(Boolean)
            )
        ),
    ];

    const productPages = productSlugs.map((slug) => ({
        url: `${siteUrl}/products/${encodeURIComponent(slug)}`,
        changeFrequency: "weekly",
        priority: 0.8,
    }));

    const staticPages = [
        {
            url: `${siteUrl}/home`,
            changeFrequency: "weekly",
            priority: 1,
        },
        {
            url: `${siteUrl}/about`,
            changeFrequency: "monthly",
            priority: 0.5,
        },
        {
            url: `${siteUrl}/warranty`,
            changeFrequency: "monthly",
            priority: 0.5,
        },
        {
            url: `${siteUrl}/contact`,
            changeFrequency: "monthly",
            priority: 0.5,
        },
        {
            url: `${siteUrl}/privacy-policy`,
            changeFrequency: "yearly",
            priority: 0.3,
        },
    ];

    return [...staticPages, ...productPages];
}