From 520bbf46a75d64c7824b9bc03f0b66387347b6fd Mon Sep 17 00:00:00 2001 From: Padreug Date: Thu, 4 Jun 2026 22:10:38 +0200 Subject: [PATCH] feat(activities): drop image placeholder when an event has no image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cards without an image no longer render the solid-color 16:9 placeholder + calendar glyph. They go straight to the content area with the badges (category, price, Yours, status, Past) shown inline in a small row at the top, so the title and details aren't pushed below a meaningless filler block. The placeholderBg computed (hash → HSL) is removed; it was only feeding the deleted no-image branch. --- src/modules/events/components/EventCard.vue | 54 ++++++++++++++------- 1 file changed, 37 insertions(+), 17 deletions(-) diff --git a/src/modules/events/components/EventCard.vue b/src/modules/events/components/EventCard.vue index 694df6a..26ec0cf 100644 --- a/src/modules/events/components/EventCard.vue +++ b/src/modules/events/components/EventCard.vue @@ -52,13 +52,6 @@ const priceDisplay = computed(() => { return `${info.price} ${info.currency}` }) -const placeholderBg = computed(() => { - // Generate a consistent hue from the event title - const hash = props.event.title.split('').reduce((acc, char) => acc + char.charCodeAt(0), 0) - const hue = hash % 360 - return `hsl(${hue}, 40%, 85%)` -}) - const isPast = computed(() => { const a = props.event const end = a.endDate ?? a.startDate @@ -72,22 +65,18 @@ const isPast = computed(() => { class="overflow-hidden cursor-pointer hover:shadow-lg transition-shadow duration-200 flex flex-col" @click="emit('click', event)" > - -
+ +
-
- -
{
+ +
+ + {{ categoryLabel }} + + + {{ priceDisplay }} + + + + Yours + + + {{ event.lnbitsStatus === 'rejected' ? 'Rejected' : 'Pending review' }} + + + + {{ t('events.filters.past', 'Past') }} + +
+