feat(windkarte): add per-area geo export + dynamic favicon
Deploy / verify (push) Successful in 1m1s
Deploy / deploy (push) Successful in 1m8s

- /api/vorranggebiete.geojson + .kml endpoints (filter via ?id=W-XX)
- Download-Buttons in WindAreaPanel pro selektiertes Gebiet
- Hover-Tooltip auf Polygon zeigt Fläche, geplante Anlagen, Höhe, Gemeinden
- Favicon + apple-touch-icon dynamisch aus data.logoUrl (CMS-Logo)
- alte windrad-PNGs in static/favicons/ entfernt
- WindkarteBlock list-fetch: _limit statt limit (RustyCMS-Param)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Peter Meier
2026-05-20 12:14:58 +02:00
parent 61d2093d0b
commit a3f545d727
38 changed files with 220 additions and 80 deletions
+8 -6
View File
@@ -106,6 +106,11 @@
const breadcrumbItems = $derived(pageData?.breadcrumbItems ?? []);
const faviconUrl = $derived(data.logoUrl ?? '/favicon.svg');
const faviconType = $derived(
faviconUrl.split('?')[0].toLowerCase().endsWith('.svg') ? 'image/svg+xml' : 'image/png'
);
const robotsContent = $derived.by(() => {
const base = (pageData?.robots ?? 'index, follow').trim();
if (/noindex/i.test(base)) return base;
@@ -195,7 +200,7 @@
{#if isEmbed}
<!-- Embed-Modus: minimaler Head, kein OG/JSON-LD/Analytics. Page setzt
eigenen <title> und robots-meta. -->
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="icon" type={faviconType} href={faviconUrl} />
{:else}
<meta name="theme-color" content="#ffffff" />
<meta name="robots" content={robotsContent} />
@@ -210,13 +215,10 @@
fetchpriority="high"
/>
{/if}
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="icon" type={faviconType} href={faviconUrl} />
<link rel="apple-touch-icon" href={faviconUrl} />
<link rel="alternate" type="application/rss+xml" title="Beiträge" href="/posts/rss.xml" />
<link rel="sitemap" href="/sitemap.xml" />
<link rel="icon" href="/favicons/favicon.ico" sizes="any" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicons/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="192x192" href="/favicons/android-icon-192x192.png" />
<link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-icon-180x180.png" />
<title>{seoTitle}</title>
{#if seoDescription}
<meta name="description" content={seoDescription} />