From 62c9d92a2cfc8b034c0e545cf16f357b487270c3 Mon Sep 17 00:00:00 2001 From: Will Bradley Date: Wed, 16 Jul 2025 13:54:55 -0700 Subject: [PATCH] Adjust right click location, bottom links --- public/city-select.html | 10 +--------- public/dashboard.html | 31 +++++++++++++++++++++++++------ 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/public/city-select.html b/public/city-select.html index a296b2b..022e1ce 100644 --- a/public/city-select.html +++ b/public/city-select.html @@ -207,8 +207,6 @@ @@ -240,17 +238,11 @@ if (user) { addCitySection.style.display = 'block'; - authLinks.innerHTML = ` - Dashboard - | - View Salem (Default) - `; + authLinks.innerHTML = ``; } else { addCitySection.style.display = 'none'; authLinks.innerHTML = ` Login - | - View Salem (Default) `; } } diff --git a/public/dashboard.html b/public/dashboard.html index a86967e..96af71e 100644 --- a/public/dashboard.html +++ b/public/dashboard.html @@ -145,7 +145,7 @@ .context-menu { - position: absolute; + position: fixed; background: white; border: 1px solid #ccc; border-radius: 4px; @@ -450,9 +450,16 @@ // Handle right-click context menu map.on('contextmenu', function(e) { e.originalEvent.preventDefault(); - const clientX = e.originalEvent.clientX || e.originalEvent.pageX; - const clientY = e.originalEvent.clientY || e.originalEvent.pageY; - showContextMenu(clientX, clientY, e.latlng); + // Use containerPoint relative to map + map container viewport position + const containerPoint = e.containerPoint; + const mapContainer = map.getContainer(); + const mapRect = mapContainer.getBoundingClientRect(); + const viewportX = mapRect.left + containerPoint.x; + const viewportY = mapRect.top + containerPoint.y; + console.log('Container point:', containerPoint); + console.log('Map rect:', mapRect); + console.log('Viewport coordinates:', viewportX, viewportY); + showContextMenu(viewportX, viewportY, e.latlng); }); // Handle long-press for mobile @@ -464,7 +471,13 @@ longPressStarted = true; longPressTimer = setTimeout(() => { if (longPressStarted) { - showContextMenu(e.originalEvent.clientX, e.originalEvent.clientY, e.latlng); + // Use containerPoint relative to map + map container viewport position + const containerPoint = e.containerPoint; + const mapContainer = map.getContainer(); + const mapRect = mapContainer.getBoundingClientRect(); + const viewportX = mapRect.left + containerPoint.x; + const viewportY = mapRect.top + containerPoint.y; + showContextMenu(viewportX, viewportY, e.latlng); } }, 500); // 500ms for long press } @@ -498,12 +511,18 @@ const contextMenu = document.getElementById('contextMenu'); contextMenuPosition = latlng; + console.log('showContextMenu called with coordinates:', x, y); + console.log('Mouse event coordinates should be:', x, y); + contextMenu.style.display = 'block'; contextMenu.style.left = x + 'px'; contextMenu.style.top = y + 'px'; - // Adjust position if menu goes off screen + // Check actual position after setting const rect = contextMenu.getBoundingClientRect(); + console.log('Context menu actual position:', rect.left, rect.top); + + // Adjust position if menu goes off screen const viewportWidth = window.innerWidth; const viewportHeight = window.innerHeight;