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

@ -5,7 +5,7 @@ import { useTaxiStore } from '@/stores/taxi'
import { analyticsService } from '@/services/analyticsService'
import type { Taxi } from '@/types'
import FavoriteButton from '@/components/FavoriteButton.vue'
import { getImageUrl } from '@/utils/imageUrl'
import AppImage from '@/components/AppImage.vue'
import AuthGuard from '@/components/common/AuthGuard.vue'
import LoadingBranded from '@/components/common/LoadingBranded.vue'
@ -143,13 +143,11 @@ function getShiftLabel(shift: string) {
<div class="card-top">
<div class="driver-avatar-wrap">
<div class="driver-avatar">
<img
:src="getImageUrl(taxi.image_url, 'taxi')"
loading="lazy"
decoding="async"
<AppImage
:src="taxi.image_url"
type="taxi"
alt="Driver"
@error="(e) => (e.target as HTMLImageElement).src = getImageUrl(null, 'taxi')"
>
/>
</div>
<div class="driver-status" :class="{ 'status-online': isOnline(taxi) }"></div>
</div>