修复轮播遮罩并补充方案文档

This commit is contained in:
yml2213
2026-07-25 17:55:20 +08:00
parent 3461c02560
commit e0cb15f408
4 changed files with 362 additions and 4 deletions
@@ -37,6 +37,10 @@ function openPreview(slide: HomeBannerSlide) {
function closePreview() {
previewVisible.value = false
}
function hasSlideCopy(slide: HomeBannerSlide) {
return Boolean(slide.eyebrow?.trim() || slide.title?.trim() || slide.pill?.trim())
}
</script>
<template>
@@ -47,7 +51,11 @@ function closePreview() {
class="hero-slide"
:class="[
`tone-${slide.tone}`,
{ 'has-image': slide.image_url, 'is-previewable': !!slide.image_url },
{
'has-image': slide.image_url,
'has-copy': hasSlideCopy(slide),
'is-previewable': !!slide.image_url,
},
]"
@click="openPreview(slide)"
>
@@ -132,7 +140,7 @@ function closePreview() {
object-fit: cover;
}
.hero-slide.has-image::after {
.hero-slide.has-image.has-copy::after {
content: '';
position: absolute;
inset: 0;
@@ -282,7 +282,7 @@
object-fit: cover;
}
.mobile-banner.has-image::after {
.mobile-banner.has-image.has-copy::after {
position: absolute;
inset: 0;
content: '';
@@ -500,6 +500,10 @@ function openBannerPreview(slide: HomeBannerSlide) {
})
}
function hasBannerCopy(slide: HomeBannerSlide) {
return Boolean(slide.eyebrow?.trim() || slide.title?.trim() || slide.pill?.trim())
}
async function onRefresh() {
refreshing.value = true
try {
@@ -847,7 +851,11 @@ syncMobileHomeQuery()
class="mobile-banner"
:class="[
`tone-${slide.tone}`,
{ 'has-image': slide.image_url, 'is-previewable': !!slide.image_url },
{
'has-image': slide.image_url,
'has-copy': hasBannerCopy(slide),
'is-previewable': !!slide.image_url,
},
]"
@click="openBannerPreview(slide)"
>