diff --git a/static/js/app.js b/static/js/app.js index 5c7fa58..0ca2c8d 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -22,7 +22,7 @@ class SkyView { this.heatmapLayer = null; // UI state - this.currentView = 'map'; + this.currentView = 'map-view'; this.showTrails = false; this.showRange = false; this.showSources = true; @@ -70,16 +70,26 @@ class SkyView { switchView(viewId) { // Update buttons document.querySelectorAll('.view-btn').forEach(btn => btn.classList.remove('active')); - document.getElementById(`${viewId}-btn`).classList.add('active'); + const activeBtn = document.getElementById(`${viewId}-btn`); + if (activeBtn) { + activeBtn.classList.add('active'); + } - // Update views + // Update views (viewId already includes the full view ID like "map-view") document.querySelectorAll('.view').forEach(view => view.classList.remove('active')); - document.getElementById(`${viewId}-view`).classList.add('active'); + const activeView = document.getElementById(viewId); + if (activeView) { + activeView.classList.add('active'); + } else { + console.warn(`View element not found: ${viewId}`); + return; + } this.currentView = viewId; - // Handle view-specific initialization - switch (viewId) { + // Handle view-specific initialization (extract base name for switch) + const baseName = viewId.replace('-view', ''); + switch (baseName) { case 'coverage': this.initializeCoverageMap(); break; @@ -208,7 +218,7 @@ class SkyView { this.updateStatistics(); this.updateHeaderInfo(); - if (this.currentView === 'radar3d') { + if (this.currentView === 'radar3d-view') { this.update3DRadar(); } }