diff --git a/src/lib/block-types.ts b/src/lib/block-types.ts index e1b2b73..9da5a52 100644 --- a/src/lib/block-types.ts +++ b/src/lib/block-types.ts @@ -383,15 +383,30 @@ export interface LiveStrommixBlockData { } /** Kalender-Item (calendar_item) – aus OpenAPI; terminZeit = ISO date-time. - * Lokale Erweiterungen (terminEnde, location, tags) sind im RustyCMS-Schema - * ergänzt und werden bis zur OpenAPI-Regen hier inline mitgeführt. */ + * Lokale Erweiterungen sind im RustyCMS-Schema ergänzt und werden bis zur + * OpenAPI-Regen hier inline mitgeführt. */ export type CalendarItemData = components["schemas"]["calendar_item"] & { /** Optionales Endedatum für Mehrtagesveranstaltungen (ISO date-time). */ terminEnde?: string; - /** Optionale Veranstaltungsort-Beschreibung (Adresse oder Name). */ - location?: string; + /** Optionaler Veranstaltungsort (string oder {text, lat, lng}). */ + location?: string | { text?: string; lat?: number; lng?: number }; /** Optionale Tags zur Filterung. */ tags?: string[]; + /** Optionales Veranstaltungsbild (aufgelöstes image-Feld oder Slug). */ + image?: + | string + | { + _type?: "img"; + _slug?: string; + src?: string; + description?: string; + file?: { url?: string }; + }; + /** Optionaler Dateianhang (z.B. PDF-Flyer). */ + attachment?: { + src?: string; + label?: string; + }; }; /** Kalender-Block (_type: "calendar"). items nach Resolve: CalendarItemData[]. Basis aus OpenAPI (calendar). */ diff --git a/src/lib/components/ImageModal.svelte b/src/lib/components/ImageModal.svelte new file mode 100644 index 0000000..038cf99 --- /dev/null +++ b/src/lib/components/ImageModal.svelte @@ -0,0 +1,44 @@ + + +