import type { MetadataRoute } from "next"; interface SitemapRoute { url: string; lastModified: string; changeFrequency?: | "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | "never"; priority?: number; } export default async function sitemap(): Promise { const baseUrl = "https://dki.one"; // Fetch the sitemap data from the dynamic API routes const response = await fetch(`${baseUrl}/api/sitemap`); if (!response.ok) { throw new Error(`Failed to fetch sitemap: ${response.statusText}`); } const sitemapData = (await response.json()) as SitemapRoute[]; return sitemapData.map((route) => { let changeFrequency: SitemapRoute["changeFrequency"]; let priority: number; if (route.url === `${baseUrl}/`) { changeFrequency = "weekly"; priority = 1.0; } else if (route.url.startsWith(`${baseUrl}/projects`)) { changeFrequency = "monthly"; priority = 0.8; } else if (route.url.startsWith(`${baseUrl}/Blog`)) { changeFrequency = "weekly"; priority = 0.6; } else { changeFrequency = "monthly"; priority = 0.5; } return { url: route.url, lastModified: route.lastModified, changeFrequency, priority, }; }); }