diff --git a/web/src/lib/components/admin/MarketForm.svelte b/web/src/lib/components/admin/MarketForm.svelte index 377687a..ba9bb2f 100644 --- a/web/src/lib/components/admin/MarketForm.svelte +++ b/web/src/lib/components/admin/MarketForm.svelte @@ -477,7 +477,27 @@ placeholder={mode === 'public' ? 'Name des Veranstalters' : ''} /> - + { + imageUrl = e.currentTarget.value; + }} + /> + {#if imageUrl} +
+ Bildvorschau { + (e.currentTarget as HTMLImageElement).style.display = 'none'; + }} + /> +
+ {/if}
@@ -504,7 +524,9 @@ { row.open = e.currentTarget.value; @@ -512,7 +534,9 @@ /> { row.close = e.currentTarget.value; diff --git a/web/src/lib/components/market/MarketCard.svelte b/web/src/lib/components/market/MarketCard.svelte index 40f7263..e0df0a8 100644 --- a/web/src/lib/components/market/MarketCard.svelte +++ b/web/src/lib/components/market/MarketCard.svelte @@ -6,6 +6,7 @@ } let { market }: Props = $props(); + let imgFailed = $state(false); function formatDate(dateStr: string): string { return new Date(dateStr).toLocaleDateString('de-DE', { @@ -25,14 +26,24 @@ href="/markt/{market.slug}" class="group bg-vellum block rounded-lg border border-stone-200 shadow-sm transition-shadow hover:shadow-md dark:border-stone-700" > - {#if market.image_url} -
- {market.name} + {#if market.image_url && !imgFailed} + {market.name} { + imgFailed = true; + }} + /> + {:else} +
+ + {market.city.charAt(0)} +
{/if}
diff --git a/web/src/routes/admin/maerkte/[id]/+page.svelte b/web/src/routes/admin/maerkte/[id]/+page.svelte index c982982..fa56cac 100644 --- a/web/src/routes/admin/maerkte/[id]/+page.svelte +++ b/web/src/routes/admin/maerkte/[id]/+page.svelte @@ -302,6 +302,18 @@

Details

+ {#if data.market.image_url} +
+ {data.market.name} { + (e.currentTarget as HTMLImageElement).style.display = 'none'; + }} + /> +
+ {/if}
Beschreibung
@@ -359,6 +371,21 @@ {data.market.slug}
+ {#if data.market.image_url} + + {/if}
diff --git a/web/src/routes/markt/[slug]/+page.svelte b/web/src/routes/markt/[slug]/+page.svelte index 6faa86c..4fdd9f5 100644 --- a/web/src/routes/markt/[slug]/+page.svelte +++ b/web/src/routes/markt/[slug]/+page.svelte @@ -253,8 +253,17 @@ {#if market.image_url} -
- {market.name} +
+ {market.name} { + const wrap = e.currentTarget.parentElement; + if (wrap) wrap.style.display = 'none'; + }} + />
{/if}