fix(app): only show gradient overlay on real images, not SVG fallbacks
The from-black/60 gradient overlay was making SVG text fallbacks appear completely black. Now the gradient only renders when there's an actual image, letting the designed SVG fallbacks show through properly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
6a1ce2e185
commit
799ca131d9
@@ -66,7 +66,7 @@
|
|||||||
class="w-full h-full bg-cover bg-center"
|
class="w-full h-full bg-cover bg-center"
|
||||||
:style="{ backgroundImage: `url(${fallbackFor(book)})` }"
|
:style="{ backgroundImage: `url(${fallbackFor(book)})` }"
|
||||||
/>
|
/>
|
||||||
<div class="absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent pointer-events-none" />
|
<div v-if="coverSrc(book)" class="absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent pointer-events-none" />
|
||||||
|
|
||||||
<div class="absolute bottom-0 left-0 right-0 p-2">
|
<div class="absolute bottom-0 left-0 right-0 p-2">
|
||||||
<p class="text-xs font-semibold text-white/90 leading-tight truncate">
|
<p class="text-xs font-semibold text-white/90 leading-tight truncate">
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
class="w-full h-full bg-cover bg-center"
|
class="w-full h-full bg-cover bg-center"
|
||||||
:style="{ backgroundImage: `url(${fallbackFor(film)})` }"
|
:style="{ backgroundImage: `url(${fallbackFor(film)})` }"
|
||||||
/>
|
/>
|
||||||
<div class="absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent pointer-events-none" />
|
<div v-if="coverSrc(film)" class="absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent pointer-events-none" />
|
||||||
|
|
||||||
<div class="absolute bottom-0 left-0 right-0 p-2">
|
<div class="absolute bottom-0 left-0 right-0 p-2">
|
||||||
<p class="text-xs font-semibold text-white/90 leading-tight truncate">
|
<p class="text-xs font-semibold text-white/90 leading-tight truncate">
|
||||||
|
|||||||
@@ -52,7 +52,7 @@
|
|||||||
class="absolute inset-0 bg-cover bg-center"
|
class="absolute inset-0 bg-cover bg-center"
|
||||||
:style="{ backgroundImage: `url(${newsFallback(article)})` }"
|
:style="{ backgroundImage: `url(${newsFallback(article)})` }"
|
||||||
/>
|
/>
|
||||||
<div class="absolute inset-0 bg-gradient-to-t from-black/60 via-black/20 to-transparent pointer-events-none" />
|
<div v-if="isSafeImgUrl(article.imgSrc) && !failedImgs.has(article.url)" class="absolute inset-0 bg-gradient-to-t from-black/60 via-black/20 to-transparent pointer-events-none" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
class="w-full h-full bg-cover bg-center"
|
class="w-full h-full bg-cover bg-center"
|
||||||
:style="{ backgroundImage: `url(${fallbackFor(place)})` }"
|
:style="{ backgroundImage: `url(${fallbackFor(place)})` }"
|
||||||
/>
|
/>
|
||||||
<div class="absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent pointer-events-none" />
|
<div v-if="place.photoUrl && !failedPhotos.has(place.id)" class="absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent pointer-events-none" />
|
||||||
<div class="absolute bottom-0 left-0 right-0 p-2">
|
<div class="absolute bottom-0 left-0 right-0 p-2">
|
||||||
<p class="text-xs font-semibold text-white/90 truncate">{{ place.name }}</p>
|
<p class="text-xs font-semibold text-white/90 truncate">{{ place.name }}</p>
|
||||||
<p class="text-xs text-white/40 truncate mt-0.5">{{ place.cuisine || place.category }}</p>
|
<p class="text-xs text-white/40 truncate mt-0.5">{{ place.cuisine || place.category }}</p>
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
class="w-full h-full bg-cover bg-center"
|
class="w-full h-full bg-cover bg-center"
|
||||||
:style="{ backgroundImage: `url(${fallbackFor(podcast)})` }"
|
:style="{ backgroundImage: `url(${fallbackFor(podcast)})` }"
|
||||||
/>
|
/>
|
||||||
<div class="absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent pointer-events-none" />
|
<div v-if="coverSrc(podcast)" class="absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent pointer-events-none" />
|
||||||
|
|
||||||
<div class="absolute bottom-0 left-0 right-0 p-2">
|
<div class="absolute bottom-0 left-0 right-0 p-2">
|
||||||
<p class="text-xs font-semibold text-white/90 leading-tight truncate">
|
<p class="text-xs font-semibold text-white/90 leading-tight truncate">
|
||||||
|
|||||||
@@ -77,7 +77,7 @@
|
|||||||
class="w-full h-full bg-cover bg-center"
|
class="w-full h-full bg-cover bg-center"
|
||||||
:style="{ backgroundImage: `url(${fallbackFor(song)})` }"
|
:style="{ backgroundImage: `url(${fallbackFor(song)})` }"
|
||||||
/>
|
/>
|
||||||
<div class="absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent pointer-events-none" />
|
<div v-if="coverSrc(song)" class="absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent pointer-events-none" />
|
||||||
|
|
||||||
<div class="absolute bottom-0 left-0 right-0 p-2">
|
<div class="absolute bottom-0 left-0 right-0 p-2">
|
||||||
<p class="text-xs font-semibold text-white/90 leading-tight truncate">
|
<p class="text-xs font-semibold text-white/90 leading-tight truncate">
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
class="w-full h-full bg-cover bg-center"
|
class="w-full h-full bg-cover bg-center"
|
||||||
:style="{ backgroundImage: `url(${fallbackFor(s)})` }"
|
:style="{ backgroundImage: `url(${fallbackFor(s)})` }"
|
||||||
/>
|
/>
|
||||||
<div class="absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent pointer-events-none" />
|
<div v-if="coverSrc(s)" class="absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent pointer-events-none" />
|
||||||
|
|
||||||
<div class="absolute bottom-0 left-0 right-0 p-2">
|
<div class="absolute bottom-0 left-0 right-0 p-2">
|
||||||
<p class="text-xs font-semibold text-white/90 leading-tight truncate">
|
<p class="text-xs font-semibold text-white/90 leading-tight truncate">
|
||||||
|
|||||||
Reference in New Issue
Block a user