From 546fde0bf6cffd264f7e51a75543358db89679e3 Mon Sep 17 00:00:00 2001 From: Anton Tranelis Date: Tue, 23 Jul 2024 10:36:15 +0200 Subject: [PATCH] basic sitemap --- src/Components/AppShell/Sitemap.tsx | 36 +++++++++++++++++++++++++++++ src/Components/AppShell/index.tsx | 3 ++- src/index.tsx | 2 +- 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 src/Components/AppShell/Sitemap.tsx diff --git a/src/Components/AppShell/Sitemap.tsx b/src/Components/AppShell/Sitemap.tsx new file mode 100644 index 00000000..df461d21 --- /dev/null +++ b/src/Components/AppShell/Sitemap.tsx @@ -0,0 +1,36 @@ +import { useEffect, useState } from 'react'; +import { useItems } from '../Map/hooks/useItems'; + +export const Sitemap = ({url}:{url:string}) => { + const [sitemap, setSitemap] = useState(''); + + const items = useItems(); + + useEffect(() => { + if (items.length) { + const generateSitemap = () => { + let sitemapXML = `\n`; + sitemapXML += `\n`; + + items.forEach(item => { + sitemapXML += ` \n`; + sitemapXML += ` ${url}/${item.slug}\n`; + sitemapXML += ` \n`; + }); + + sitemapXML += ``; + return sitemapXML; + }; + + setSitemap(generateSitemap()); + } + }, [items]); + + return ( +
+

Sitemap

+