From 69fbe3dcbce44a0b2e38d398d3e714179a817455 Mon Sep 17 00:00:00 2001 From: Hanzo_dev <2002samudiojohan@gmail.com> Date: Sat, 28 Feb 2026 22:01:16 -0500 Subject: [PATCH] fix: decouple map search from global selection and fix offers anchoring/masking --- frontend/src/views/MapView.vue | 140 +++++++++++++++++---------------- 1 file changed, 71 insertions(+), 69 deletions(-) diff --git a/frontend/src/views/MapView.vue b/frontend/src/views/MapView.vue index c829763..b9718cc 100644 --- a/frontend/src/views/MapView.vue +++ b/frontend/src/views/MapView.vue @@ -50,6 +50,7 @@ const optimalStopPulse = ref(null); const showRouteDropdown = ref(false); const routeCardRef = ref(null); const mappingSequenceId = ref(0); +const wasSelectedFromMap = ref(false); const alturaNavbar = ref(64); // Search state @@ -276,6 +277,7 @@ watch( } else { // Clear markers when no route is selected lastProcessedRouteId.value = null; + wasSelectedFromMap.value = false; // Reset selection origin clearMapMarkers(); } }, @@ -393,6 +395,7 @@ async function updatePromoMarkers() { async function selectRouteAndClose(routeId: string, routeName: string) { console.log(`πŸ€– JARVIS: Iniciando viaje hacia ${routeName}`); + wasSelectedFromMap.value = true; await routeStore.selectRoute(routeId, routeName); showRouteDropdown.value = false; showUberSearch.value = false; // Close the expanded search panel @@ -607,9 +610,9 @@ async function highlightOptimalStopForRoute() {
- +
@@ -702,74 +705,73 @@ async function highlightOptimalStopForRoute() {
-
+
+ + - - -
- -
-
- stars - Ofertas SIBU -
- -
- - -
- - - -
-
- - -{{ currentPromo.discount_percentage }}% -
- -
- {{ currentPromo.business?.name || 'Local' }} -

{{ currentPromo.title }}

- - -
-
-
- - -
- - -
-
+ + +
+ +
+
+ stars + Ofertas SIBU
+ +
+ + +
+ + + +
+
+ + -{{ currentPromo.discount_percentage }}% +
+ +
+ {{ currentPromo.business?.name || 'Local' }} +

{{ currentPromo.title }}

+ +
+
+
+ + +
+ + +
+
-
-
+ @@ -929,7 +931,7 @@ async function highlightOptimalStopForRoute() { OFFERS BOTTOM SHEET ═══════════════════════════════════════ */ .offers-sheet { - position: absolute; + position: fixed; bottom: 80px; /* Separado del borde inferior/menΓΊ */ left: 50%; transform: translateX(-50%) translateY(0); @@ -940,7 +942,7 @@ async function highlightOptimalStopForRoute() { -webkit-backdrop-filter: blur(20px) saturate(180%); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 24px; - z-index: 2000; + z-index: 3000; /* Aumentado para estar sobre todo */ padding: 12px; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15); color: #000;