"use server"; import { getListContent } from "@/service/landing/landing"; import { NextResponse } from "next/server"; export async function GET() { try { const baseUrl = "https://mediahub.polri.go.id/in"; const response = await getListContent({ page: 1, limit: "100", search: "", }); const articles = response?.data?.data || []; const urls = articles .map((article: any) => { const type = article.fileTypeId == 1 ? "image" : article.fileTypeId == 2 ? "video" : article.fileTypeId == 3 ? "document" : "audio"; const slug = article.slug ? encodeURIComponent(article.slug) : article.id; const lastmod = article.updatedAt ? new Date(article.updatedAt).toISOString() : new Date().toISOString(); return ` ${baseUrl}/${type}/detail/${article.id}-${slug} ${lastmod} weekly 0.8 `; }) .join("\n"); const sitemap = ` ${baseUrl} ${new Date().toISOString()} daily 1.0 ${urls} `; return new NextResponse(sitemap, { headers: { "Content-Type": "application/xml", }, }); } catch (error: any) { console.error("Sitemap error:", error); return new NextResponse("Sitemap generation failed", { status: 500 }); } }