From ea1e40880163f1713c6c44ef94c2f58e43b226d9 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. --- .../activities/components/ActivityCard.vue | 54 +++++++++++++------ 1 file changed, 37 insertions(+), 17 deletions(-) diff --git a/src/modules/activities/components/ActivityCard.vue b/src/modules/activities/components/ActivityCard.vue index 442f423..7c156e6 100644 --- a/src/modules/activities/components/ActivityCard.vue +++ b/src/modules/activities/components/ActivityCard.vue @@ -52,13 +52,6 @@ const priceDisplay = computed(() => { return `${info.price} ${info.currency}` }) -const placeholderBg = computed(() => { - // Generate a consistent hue from the activity title - const hash = props.activity.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.activity 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', activity)" > - -
+ +
-
- -
{
+ +
+ + {{ categoryLabel }} + + + {{ priceDisplay }} + + + + Yours + + + {{ activity.lnbitsStatus === 'rejected' ? 'Rejected' : 'Pending review' }} + + + + {{ t('activities.filters.past', 'Past') }} + +
+