Perf: Fase 2 optimización de imágenes y asincronía en interfaz finalizada

This commit is contained in:
2026-03-21 16:06:21 -05:00
parent 64c3bbb1d7
commit 3cda38bf8f
8 changed files with 43 additions and 61 deletions

View File

@ -4,7 +4,7 @@ import { useRouter } from 'vue-router'
import { useI18n } from 'vue-i18n'
import { useShuttleStore } from '@/stores/shuttle'
import AuthGuard from '@/components/common/AuthGuard.vue'
import { getImageUrl } from '@/utils/imageUrl'
import AppImage from '@/components/AppImage.vue'
import { analyticsService } from '@/services/analyticsService'
import LoadingBranded from '@/components/common/LoadingBranded.vue'
@ -127,13 +127,11 @@ onUnmounted(() => {
@click="verDetalle(shuttle.id, shuttle.company_name || `${shuttle.origin}-${shuttle.destination}`)"
>
<div class="card-image-wrap">
<img
:src="getImageUrl(shuttle.image_url, 'shuttle')"
loading="lazy"
decoding="async"
class="shuttle-img"
<AppImage
:src="shuttle.image_url"
type="shuttle"
imgClass="shuttle-img"
alt="Shuttle"
@error="(e) => (e.target as HTMLImageElement).src = getImageUrl(null, 'shuttle')"
/>
<div class="company-tag" v-if="shuttle.company_name">
<span class="material-icons">business</span>