import type { GetServerSideProps } from "next"; import { env } from "~/env"; import { generateSSGHelper } from "~/server/utils/ssgHelper"; async function generateSiteMap() { const helper = generateSSGHelper(); const dynamicUrls = await helper.annunci.getCodici.fetch(); const staticUrls = [ env.NEXT_PUBLIC_BASE_URL, `${env.NEXT_PUBLIC_BASE_URL}/contatti`, `${env.NEXT_PUBLIC_BASE_URL}/prezzi`, `${env.NEXT_PUBLIC_BASE_URL}/chi-siamo`, `${env.NEXT_PUBLIC_BASE_URL}/proprietari`, `${env.NEXT_PUBLIC_BASE_URL}/guida`, `${env.NEXT_PUBLIC_BASE_URL}/annunci`, `${env.NEXT_PUBLIC_BASE_URL}/annunci?tipo=Transitorio`, `${env.NEXT_PUBLIC_BASE_URL}/annunci?comune=Bassano+del+Grappa`, `${env.NEXT_PUBLIC_BASE_URL}/annunci?tipo=Stabile`, `${env.NEXT_PUBLIC_BASE_URL}/annunci?comune=Marostica`, ]; const allUrls = [...staticUrls, ...dynamicUrls]; return ` ${allUrls .map((url) => { return ` ${url} ${new Date().toISOString()} hourly 0.7 `; }) .join("")} `; } export const getServerSideProps = (async (context) => { const sitemap = await generateSiteMap(); context.res.setHeader("Content-Type", "text/xml"); context.res.write(sitemap); context.res.end(); return { props: {}, }; }) satisfies GetServerSideProps; // You must export a React component as the default export, but it will not be rendered. // Its sole purpose is to allow Next.js to compile the file as a Page. export default function Sitemap() { return null; }