fix(discover): Enforce AuthGuard visibility block during category or text search filtering
This commit is contained in:
@ -228,53 +228,59 @@ function resetFilters() {
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Grid de resultados -->
|
<!-- CONTENIDO PROTEGIDO CON AUTHGUARD -->
|
||||||
<TransitionGroup v-if="filteredBusinesses.length > 0" name="fade" tag="div" class="biz-grid">
|
<AuthGuard
|
||||||
<div
|
:title="t('discover.auth.title') || '¡Locales exclusivos!'"
|
||||||
v-for="biz in filteredBusinesses"
|
:message="t('discover.auth.message') || 'Regístrate para descubrir los mejores rincones de la ciudad y ofertas directas.'"
|
||||||
:key="biz.id"
|
>
|
||||||
v-memo="[biz.id]"
|
<!-- Grid de resultados -->
|
||||||
class="biz-card"
|
<TransitionGroup v-if="filteredBusinesses.length > 0" name="fade" tag="div" class="biz-grid">
|
||||||
@click="handleExplore(biz)"
|
<div
|
||||||
>
|
v-for="biz in filteredBusinesses"
|
||||||
<div class="biz-img-wrap">
|
:key="biz.id"
|
||||||
<img
|
v-memo="[biz.id]"
|
||||||
:src="getImageUrl(biz.image_url, 'business')"
|
class="biz-card"
|
||||||
:alt="biz.name"
|
@click="handleExplore(biz)"
|
||||||
loading="lazy"
|
>
|
||||||
decoding="async"
|
<div class="biz-img-wrap">
|
||||||
class="biz-img"
|
<img
|
||||||
@error="(e) => (e.target as HTMLImageElement).src = getImageUrl(null, 'business')"
|
:src="getImageUrl(biz.image_url, 'business')"
|
||||||
/>
|
:alt="biz.name"
|
||||||
<span class="biz-cat-badge">
|
loading="lazy"
|
||||||
<span class="material-icons" style="font-size:0.875rem">{{ catIcon(biz.category || '') }}</span>
|
decoding="async"
|
||||||
{{ catName(biz.category || '') }}
|
class="biz-img"
|
||||||
</span>
|
@error="(e) => (e.target as HTMLImageElement).src = getImageUrl(null, 'business')"
|
||||||
</div>
|
/>
|
||||||
<div class="biz-body">
|
<span class="biz-cat-badge">
|
||||||
<p class="biz-name">{{ biz.name }}</p>
|
<span class="material-icons" style="font-size:0.875rem">{{ catIcon(biz.category || '') }}</span>
|
||||||
<p class="biz-area">
|
{{ catName(biz.category || '') }}
|
||||||
<span class="material-icons biz-area-icon">near_me</span>
|
</span>
|
||||||
{{ biz.area }}
|
</div>
|
||||||
</p>
|
<div class="biz-body">
|
||||||
|
<p class="biz-name">{{ biz.name }}</p>
|
||||||
|
<p class="biz-area">
|
||||||
|
<span class="material-icons biz-area-icon">near_me</span>
|
||||||
|
{{ biz.area }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</TransitionGroup>
|
||||||
|
|
||||||
|
<!-- Vacío -->
|
||||||
|
<div v-else class="empty-state">
|
||||||
|
<span class="material-icons empty-icon">search_off</span>
|
||||||
|
<h2 class="empty-title">{{ t('discover.noResults') }}</h2>
|
||||||
|
<p class="empty-sub">{{ t('discover.noResultsDesc') }}</p>
|
||||||
|
<button class="cta-btn" @click="resetFilters">{{ t('discover.viewAll') }}</button>
|
||||||
</div>
|
</div>
|
||||||
</TransitionGroup>
|
|
||||||
|
|
||||||
<!-- Vacío -->
|
<!-- CTA al final -->
|
||||||
<div v-else class="empty-state">
|
<div v-if="filteredBusinesses.length > 0" class="more-card" @click="resetFilters">
|
||||||
<span class="material-icons empty-icon">search_off</span>
|
<p class="more-card-title">{{ t('discover.lookingMore') }}</p>
|
||||||
<h2 class="empty-title">{{ t('discover.noResults') }}</h2>
|
<p class="more-card-sub">{{ t('discover.exploreWithoutFilters') }}</p>
|
||||||
<p class="empty-sub">{{ t('discover.noResultsDesc') }}</p>
|
<button class="cta-btn">{{ t('common.all') }}</button>
|
||||||
<button class="cta-btn" @click="resetFilters">{{ t('discover.viewAll') }}</button>
|
</div>
|
||||||
</div>
|
</AuthGuard>
|
||||||
|
|
||||||
<!-- CTA al final -->
|
|
||||||
<div v-if="filteredBusinesses.length > 0" class="more-card" @click="resetFilters">
|
|
||||||
<p class="more-card-title">{{ t('discover.lookingMore') }}</p>
|
|
||||||
<p class="more-card-sub">{{ t('discover.exploreWithoutFilters') }}</p>
|
|
||||||
<button class="cta-btn">{{ t('common.all') }}</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- ══ VISTA INICIO (sin filtros) ══ -->
|
<!-- ══ VISTA INICIO (sin filtros) ══ -->
|
||||||
|
|||||||
Reference in New Issue
Block a user