place
@@ -51,7 +51,9 @@
-
Calculando satélites...
+
+ {{ stopName ? 'Calculando llegada...' : 'Cargando datos de ruta...' }}
+
diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts
index aa782dd..e2f9859 100644
--- a/frontend/src/router/index.ts
+++ b/frontend/src/router/index.ts
@@ -5,6 +5,13 @@ import { useAuthStore } from '@/stores/auth'
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
+ scrollBehavior(_to, _from, savedPosition) {
+ if (savedPosition) {
+ return savedPosition;
+ } else {
+ return { top: 0 };
+ }
+ },
routes: [
// ─── Vistas Públicas Core ───────────────────────────────────────────
{
diff --git a/frontend/src/views/MapView.vue b/frontend/src/views/MapView.vue
index 6a8eab1..64cd173 100644
--- a/frontend/src/views/MapView.vue
+++ b/frontend/src/views/MapView.vue
@@ -701,7 +701,7 @@ watch([() => authStore.userProfile?.auto_location, isLoaded], ([canLocate, loade
:walk-distance="distanciaMetros"
:walk-duration="duracionCaminata"
:buses="busesActivos"
- :is-loading="etaCargando"
+ :is-loading="etaCargando || isUpdatingMarkers || flujoCargando"
@close="handleETACardDismiss"
@refresh="paradaCercana && routeStore.selectedRouteId ? calcularETA(routeStore.selectedRouteId, paradaCercana) : null"
/>
@@ -751,7 +751,7 @@ watch([() => authStore.userProfile?.auto_location, isLoaded], ([canLocate, loade
.map-floating-controls {
position: fixed;
- bottom: 85px;
+ bottom: calc(95px + var(--safe-area-bottom));
right: 16px;
display: flex;
flex-direction: column;
@@ -865,6 +865,8 @@ watch([() => authStore.userProfile?.auto_location, isLoaded], ([canLocate, loade
}
@media (max-width: 600px) {
- .map-floating-controls { bottom: 100px; }
+ .map-floating-controls {
+ bottom: calc(100px + var(--safe-area-bottom));
+ }
}