diff --git a/web/src/app/sitemap.ts b/web/src/app/sitemap.ts index 636b0ee8..2a17a1f8 100644 --- a/web/src/app/sitemap.ts +++ b/web/src/app/sitemap.ts @@ -1,36 +1,44 @@ -import { BASE_URL, WEB_URL } from "@/constants" -import { getAllIcons } from "@/lib/api" -import type { MetadataRoute } from "next" +import { BASE_URL, WEB_URL } from "@/constants"; +import { getAllIcons } from "@/lib/api"; +import type { MetadataRoute } from "next"; -export const dynamic = "force-static" +export const dynamic = "force-static"; + +// Helper function to format dates as YYYY-MM-DD +const formatDate = (date: Date): string => { + // Format to YYYY-MM-DD + return date.toISOString().split('T')[0]; +}; export default async function sitemap(): Promise { - const iconsData = await getAllIcons() + const iconsData = await getAllIcons(); return [ { url: WEB_URL, - lastModified: new Date(), + lastModified: formatDate(new Date()), changeFrequency: "yearly", priority: 1, }, { url: `${WEB_URL}/icons`, - lastModified: new Date(), + lastModified: formatDate(new Date()), changeFrequency: "daily", priority: 1, images: [`${WEB_URL}/icons/icon.png`], }, ...Object.keys(iconsData).map((iconName) => ({ url: `${WEB_URL}/icons/${iconName}`, - lastModified: iconsData[iconName].update.timestamp, + lastModified: formatDate(new Date(iconsData[iconName].update.timestamp)), changeFrequency: "yearly" as const, priority: 0.8, images: [ `${BASE_URL}/png/${iconName}.png`, // SVG is conditional if it exists - iconsData[iconName].base === "svg" ? `${BASE_URL}/svg/${iconName}.svg` : null, + iconsData[iconName].base === "svg" + ? `${BASE_URL}/svg/${iconName}.svg` + : null, `${BASE_URL}/webp/${iconName}.webp`, ].filter(Boolean) as string[], })), - ] + ]; }