feat(stellungnahme): UX-Verbesserungen, localStorage, Mini-Map, Druck
Deploy / verify (push) Successful in 55s
Deploy / deploy (push) Successful in 1m39s

- localStorage: Formularstand + Ausgabe-Historie (max 5) persistieren
- Fortsetzen-Banner: gespeicherte Sitzung erkannt → Sprung zu letztem Schritt
- Neustart-Button: alles inkl. localStorage leeren
- Frist-Banner: deadline-Feld in StellingnahmeGeneratorBlockData, Ampelfarben
- Step 1 überspringen wenn keine ortskonkreten Argumente vorhanden
- Step-Indikator: goTo() statt step= (scrollt jetzt korrekt)
- "Alle wählen" öffnet Gruppe automatisch
- Download als .txt neben Kopieren/Drucken
- <pre> → <div> für konsistentes Schriftbild im Output
- Mini-Map für Vorranggebiet in Step 0 (tap-to-activate, fitBoundsMaxZoom=13)
- WindkarteMap: fitBoundsMaxZoom-Prop ergänzt
- Druckausgabe: 13pt Serif, 2cm Ränder, kein Markdown im Fertigtext

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Peter Meier
2026-05-27 15:57:27 +02:00
parent 6d0861bb0a
commit 96dd88247d
3 changed files with 593 additions and 317 deletions
+3 -1
View File
@@ -11,6 +11,7 @@
initialGebietsNr = null,
hiddenStatuses = [],
hiddenRings = [],
fitBoundsMaxZoom = 11,
}: {
areas: WindArea[];
onselect: (area: WindArea | null, center: [number, number] | null) => void;
@@ -18,6 +19,7 @@
initialGebietsNr?: string | null;
hiddenStatuses?: string[];
hiddenRings?: string[];
fitBoundsMaxZoom?: number;
} = $props();
const t = useTranslate();
@@ -167,7 +169,7 @@
map!.fitBounds((layer as import("leaflet").Polygon).getBounds(), {
paddingTopLeft: [40, 40],
paddingBottomRight: [desktop ? 320 : 40, desktop ? 40 : 300],
maxZoom: 11,
maxZoom: fitBoundsMaxZoom,
});
}
}