feat(stellungnahme): UX-Verbesserungen, localStorage, Mini-Map, Druck
- 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:
@@ -468,5 +468,7 @@ export interface StellingnahmeGeneratorBlockData {
|
|||||||
allgemeineArgumenteTag?: string | { _slug: string; name?: string };
|
allgemeineArgumenteTag?: string | { _slug: string; name?: string };
|
||||||
/** Vom Resolver befüllt: allgemeine (gebietsunabhängige) Fragmente via Tag. */
|
/** Vom Resolver befüllt: allgemeine (gebietsunabhängige) Fragmente via Tag. */
|
||||||
allgemeineArgumente?: TextFragment[];
|
allgemeineArgumente?: TextFragment[];
|
||||||
|
/** ISO-Datum: Einwendungsfrist-Ende (z.B. "2026-07-04"). */
|
||||||
|
deadline?: string;
|
||||||
layout?: BlockLayout;
|
layout?: BlockLayout;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
initialGebietsNr = null,
|
initialGebietsNr = null,
|
||||||
hiddenStatuses = [],
|
hiddenStatuses = [],
|
||||||
hiddenRings = [],
|
hiddenRings = [],
|
||||||
|
fitBoundsMaxZoom = 11,
|
||||||
}: {
|
}: {
|
||||||
areas: WindArea[];
|
areas: WindArea[];
|
||||||
onselect: (area: WindArea | null, center: [number, number] | null) => void;
|
onselect: (area: WindArea | null, center: [number, number] | null) => void;
|
||||||
@@ -18,6 +19,7 @@
|
|||||||
initialGebietsNr?: string | null;
|
initialGebietsNr?: string | null;
|
||||||
hiddenStatuses?: string[];
|
hiddenStatuses?: string[];
|
||||||
hiddenRings?: string[];
|
hiddenRings?: string[];
|
||||||
|
fitBoundsMaxZoom?: number;
|
||||||
} = $props();
|
} = $props();
|
||||||
|
|
||||||
const t = useTranslate();
|
const t = useTranslate();
|
||||||
@@ -167,7 +169,7 @@
|
|||||||
map!.fitBounds((layer as import("leaflet").Polygon).getBounds(), {
|
map!.fitBounds((layer as import("leaflet").Polygon).getBounds(), {
|
||||||
paddingTopLeft: [40, 40],
|
paddingTopLeft: [40, 40],
|
||||||
paddingBottomRight: [desktop ? 320 : 40, desktop ? 40 : 300],
|
paddingBottomRight: [desktop ? 320 : 40, desktop ? 40 : 300],
|
||||||
maxZoom: 11,
|
maxZoom: fitBoundsMaxZoom,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user