diff --git a/scripts/generate-icons.mjs b/scripts/generate-icons.mjs index 722351e..9498c59 100644 --- a/scripts/generate-icons.mjs +++ b/scripts/generate-icons.mjs @@ -67,9 +67,8 @@ const EXTRA_ICONS = [ 'information-outline', // OrganisationsMapBlock: activate-overlay 'cursor-default-click-outline', - // CalendarBlock: social-image buttons + // CalendarBlock: social-image modal button 'image-outline', - 'crop-square', ]; const STATIC_PATTERN = /icon="mdi:([a-z0-9-]+)"/g; diff --git a/src/lib/components/blocks/CalendarBlock.svelte b/src/lib/components/blocks/CalendarBlock.svelte index ee14077..cc650a0 100644 --- a/src/lib/components/blocks/CalendarBlock.svelte +++ b/src/lib/components/blocks/CalendarBlock.svelte @@ -446,6 +446,16 @@ let copyToastKey = $state(null); let modalImage = $state<{ src: string; alt: string } | null>(null); let linkedSlug = $state(null); + let socialModal = $state<{ slug: string; title: string } | null>(null); + + function openSocial(item: EventCardItem) { + if (!item._slug) return; + socialModal = { slug: item._slug, title: item.title || "Termin" }; + } + + function closeSocial() { + socialModal = null; + } function eventId(item: EventCardItem): string { if (item._slug) return `event-${item._slug}`; @@ -887,34 +897,20 @@ {/if} {#if item._slug} - openSocial(item)} class="btn-outline btn-sm group" - aria-label="Social-Bild (Quer 1200×630)" - title="Social-Bild Quer (1200×630)" + aria-label="Social-Bild als Vorschau öffnen" + title="Social-Bild Vorschau" > - - + Social-Bild + {/if} + + +
+
+

Quer · 1200 × 630

+ Social-Bild Quer + + + Quer herunterladen + +
+
+

Quadrat · 1080 × 1080

+ Social-Bild Quadrat + + + Quadrat herunterladen + +
+
+ +

+ Die Bilder werden automatisch generiert. Für Posts auf Instagram, Facebook, WhatsApp oder als Hintergrund-Grafik. +

+ + +{/if} +