Full codebase including API server (32 modules + routes), dashboard frontend, DashCA certificate distribution, installer script, and deployment skills.
17 lines
708 B
JavaScript
17 lines
708 B
JavaScript
// ========== PANEL TAB SWITCHING (shared utility) ==========
|
|
(function() {
|
|
document.addEventListener('click', (e) => {
|
|
const tab = e.target.closest('.panel-tab');
|
|
if (!tab) return;
|
|
const panelId = tab.dataset.panel;
|
|
if (!panelId) return;
|
|
const tabBar = tab.closest('.panel-tabs');
|
|
const modalContent = tabBar.closest('.weather-modal-content');
|
|
tabBar.querySelectorAll('.panel-tab').forEach(t => t.classList.remove('active'));
|
|
tab.classList.add('active');
|
|
modalContent.querySelectorAll('.panel-section').forEach(s => s.classList.remove('active'));
|
|
const target = modalContent.querySelector('#' + panelId);
|
|
if (target) target.classList.add('active');
|
|
});
|
|
})();
|