Fix UI overlapping, transport load error handling, and schedule filtering bugs
This commit is contained in:
@ -807,24 +807,22 @@ function calculateWalkingPath(origin: { lat: number, lng: number }, targetStop:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Banner de Parada Más Cercana Inteligente -->
|
||||
<!-- Banner de Parada Más Cercana Inteligente (Chip Compacto) -->
|
||||
<div
|
||||
v-if="paradaCercana && routeStore.selectedRouteId && !showETACard"
|
||||
class="fixed left-0 right-0 z-40 px-3 transition-transform duration-300 pointer-events-none"
|
||||
:style="{ top: alturaNavbar + 'px' }"
|
||||
class="fixed z-[1050] px-3 transition-all duration-300 pointer-events-none"
|
||||
:style="{ top: (alturaNavbar + 8) + 'px', right: '16px' }"
|
||||
>
|
||||
<!-- Solo mostrar cuando ETACard está CERRADO -->
|
||||
<!-- v-if agrega condición: && !showETACard -->
|
||||
<div class="bg-white/90 dark:bg-gray-900/90 backdrop-blur-sm rounded-b-2xl shadow-lg border-t-2 border-yellow-400 px-4 py-2 flex items-center gap-2 pointer-events-auto">
|
||||
<span class="material-icons text-yellow-500 text-sm">directions_bus</span>
|
||||
<span class="text-sm font-bold text-gray-800 dark:text-white truncate flex-1">
|
||||
<div class="bg-white/95 dark:bg-gray-900/95 backdrop-blur-sm rounded-2xl shadow-lg border border-yellow-400/50 px-3 py-1.5 flex items-center gap-2 max-w-[220px] pointer-events-auto">
|
||||
<span class="material-icons text-yellow-500" style="font-size:16px">directions_bus</span>
|
||||
<span class="text-xs font-bold text-gray-800 dark:text-white truncate flex-1">
|
||||
{{ paradaCercana?.name }}
|
||||
</span>
|
||||
<span class="text-xs text-gray-500 whitespace-nowrap">
|
||||
<span class="text-[10px] text-gray-500 whitespace-nowrap">
|
||||
{{ (distanciaMetros && distanciaMetros < 1000) ? Math.round(distanciaMetros) + 'm' : (distanciaMetros ? (distanciaMetros / 1000).toFixed(1) + 'km' : '') }}
|
||||
</span>
|
||||
<button @click="paradaCercana = null" class="text-gray-400 hover:text-gray-600 shrink-0 p-0.5 ml-1">
|
||||
<span class="material-icons text-sm">close</span>
|
||||
<span class="material-icons" style="font-size:14px">close</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@ -1252,7 +1250,8 @@ function calculateWalkingPath(origin: { lat: number, lng: number }, targetStop:
|
||||
═══════════════════════════════════════ */
|
||||
.offers-sheet {
|
||||
position: fixed;
|
||||
bottom: 110px; /* Separado más de la barra inferior para evitar solapamiento */
|
||||
/* Base 72px (altura menú) + 16px espacio visual + safe area */
|
||||
bottom: calc(72px + 16px + env(safe-area-inset-bottom, 0px));
|
||||
left: 10px;
|
||||
right: 10px;
|
||||
background: #fff;
|
||||
@ -1262,6 +1261,9 @@ function calculateWalkingPath(origin: { lat: number, lng: number }, targetStop:
|
||||
padding-bottom: 10px;
|
||||
box-shadow: 0 -4px 15px rgba(0,0,0,0.2);
|
||||
color: #000;
|
||||
/* Limitar altura máxima para no ocupar toda la pantalla */
|
||||
max-height: calc(100vh - 200px);
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
@ -1272,6 +1274,15 @@ function calculateWalkingPath(origin: { lat: number, lng: number }, targetStop:
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 900px) {
|
||||
.offers-sheet {
|
||||
/* En móvil más espacio aún por el menú nativo */
|
||||
bottom: calc(80px + env(safe-area-inset-bottom, 0px));
|
||||
left: 8px;
|
||||
right: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
.sheet-handle {
|
||||
width: 40px;
|
||||
height: 4px;
|
||||
@ -2137,4 +2148,14 @@ function calculateWalkingPath(origin: { lat: number, lng: number }, targetStop:
|
||||
left: 15px;
|
||||
z-index: 10;
|
||||
}
|
||||
.map-floating-controls {
|
||||
position: fixed;
|
||||
/* Subir los botones FAB cuando el carrusel está abierto */
|
||||
bottom: 85px;
|
||||
right: 16px;
|
||||
z-index: 1000;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 12px;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user