add close button for setup overlay
All checks were successful
pedestrian-simulator / build (push) Successful in 58s
All checks were successful
pedestrian-simulator / build (push) Successful in 58s
This commit is contained in:
@@ -792,10 +792,28 @@ function initializeMap() {
|
|||||||
// Legacy fallback
|
// Legacy fallback
|
||||||
startFromLocation(startLatLng, locationData.address || "Saved Location");
|
startFromLocation(startLatLng, locationData.address || "Saved Location");
|
||||||
}
|
}
|
||||||
document.getElementById('setup-overlay').classList.remove('active');
|
hideSetupOverlay();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showSetupOverlay() {
|
||||||
|
const overlay = document.getElementById('setup-overlay');
|
||||||
|
const closeBtn = document.getElementById('closeSetupButton');
|
||||||
|
|
||||||
|
// Only show close button if there's an active trip
|
||||||
|
if (localStorage.getItem(LOCATION_STORAGE)) {
|
||||||
|
closeBtn.style.display = 'block';
|
||||||
|
} else {
|
||||||
|
closeBtn.style.display = 'none';
|
||||||
|
}
|
||||||
|
|
||||||
|
overlay.classList.add('active');
|
||||||
|
}
|
||||||
|
|
||||||
|
function hideSetupOverlay() {
|
||||||
|
document.getElementById('setup-overlay').classList.remove('active');
|
||||||
|
}
|
||||||
|
|
||||||
function setupEventListeners() {
|
function setupEventListeners() {
|
||||||
// Start button
|
// Start button
|
||||||
document.getElementById('startButton').addEventListener('click', async () => {
|
document.getElementById('startButton').addEventListener('click', async () => {
|
||||||
@@ -876,6 +894,14 @@ function setupEventListeners() {
|
|||||||
openKMLBrowser();
|
openKMLBrowser();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Close Setup Button
|
||||||
|
const closeSetupBtn = document.getElementById('closeSetupButton');
|
||||||
|
if (closeSetupBtn) {
|
||||||
|
closeSetupBtn.addEventListener('click', () => {
|
||||||
|
hideSetupOverlay();
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function calculateAndStartRoute(startAddress, endAddress, isRestoring = false) {
|
async function calculateAndStartRoute(startAddress, endAddress, isRestoring = false) {
|
||||||
@@ -930,7 +956,7 @@ async function calculateAndStartRoute(startAddress, endAddress, isRestoring = fa
|
|||||||
stateBuffer = [];
|
stateBuffer = [];
|
||||||
|
|
||||||
startFromLocation(leg.start_location, locationData.startAddress);
|
startFromLocation(leg.start_location, locationData.startAddress);
|
||||||
document.getElementById('setup-overlay').classList.remove('active');
|
hideSetupOverlay();
|
||||||
|
|
||||||
// Update UI
|
// Update UI
|
||||||
document.getElementById('routeInfo').textContent = `${leg.start_address} ➝ ${leg.end_address}`;
|
document.getElementById('routeInfo').textContent = `${leg.start_address} ➝ ${leg.end_address}`;
|
||||||
@@ -1102,7 +1128,7 @@ function resetLocation() {
|
|||||||
// We don't remove LOCATION_STORAGE here anymore, so that the confirmation
|
// We don't remove LOCATION_STORAGE here anymore, so that the confirmation
|
||||||
// dialog in the Start buttons correctly sees the active trip.
|
// dialog in the Start buttons correctly sees the active trip.
|
||||||
// The storage will be overwritten when the NEW trip actually starts.
|
// The storage will be overwritten when the NEW trip actually starts.
|
||||||
document.getElementById('setup-overlay').classList.add('active');
|
showSetupOverlay();
|
||||||
document.getElementById('startLocationInput').value = '';
|
document.getElementById('startLocationInput').value = '';
|
||||||
document.getElementById('endLocationInput').value = '';
|
document.getElementById('endLocationInput').value = '';
|
||||||
stopAnimation();
|
stopAnimation();
|
||||||
@@ -2012,7 +2038,7 @@ function startFromCustomRoute(pathData, routeName, isRestoring = false, markers
|
|||||||
|
|
||||||
// Initialize Map View
|
// Initialize Map View
|
||||||
startFromLocation(startPoint, routeName);
|
startFromLocation(startPoint, routeName);
|
||||||
document.getElementById('setup-overlay').classList.remove('active');
|
hideSetupOverlay();
|
||||||
|
|
||||||
// Update UI
|
// Update UI
|
||||||
document.getElementById('routeInfo').textContent = `${routeName}`;
|
document.getElementById('routeInfo').textContent = `${routeName}`;
|
||||||
|
|||||||
@@ -71,6 +71,7 @@
|
|||||||
<!-- Start Location Setup Overlay -->
|
<!-- Start Location Setup Overlay -->
|
||||||
<div id="setup-overlay" class="overlay active">
|
<div id="setup-overlay" class="overlay active">
|
||||||
<div class="setup-card">
|
<div class="setup-card">
|
||||||
|
<button id="closeSetupButton" class="close-btn" style="display: none;">×</button>
|
||||||
<h2>🌍 Plan Your Route</h2>
|
<h2>🌍 Plan Your Route</h2>
|
||||||
<p>Enter a start and finish location for your walk</p>
|
<p>Enter a start and finish location for your walk</p>
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
|
|||||||
@@ -260,6 +260,13 @@ body {
|
|||||||
max-width: 500px;
|
max-width: 500px;
|
||||||
width: 90%;
|
width: 90%;
|
||||||
border: 1px solid var(--border);
|
border: 1px solid var(--border);
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
#closeSetupButton {
|
||||||
|
position: absolute;
|
||||||
|
top: 1rem;
|
||||||
|
right: 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.setup-card h2 {
|
.setup-card h2 {
|
||||||
|
|||||||
Reference in New Issue
Block a user