fix: null-guard multi-select menu close handler

observerFilterWrap/typeFilterWrap don't exist when document click
fires before renderLeft completes.
This commit is contained in:
you
2026-03-22 04:49:51 +00:00
parent 427ebcf657
commit 9542f5694b
2 changed files with 5 additions and 3 deletions

View File

@@ -84,7 +84,7 @@
<script src="hop-resolver.js?v=1774126708"></script>
<script src="app.js?v=1774126708"></script>
<script src="home.js?v=1774042199"></script>
<script src="packets.js?v=1774154830"></script>
<script src="packets.js?v=1774154991"></script>
<script src="map.js?v=1774126708" onerror="console.error('Failed to load:', this.src)"></script>
<script src="channels.js?v=1774331200" onerror="console.error('Failed to load:', this.src)"></script>
<script src="nodes.js?v=1774126708" onerror="console.error('Failed to load:', this.src)"></script>

View File

@@ -607,8 +607,10 @@
// Close multi-select menus on outside click
document.addEventListener('click', (e) => {
if (!document.getElementById('observerFilterWrap').contains(e.target)) obsMenu.classList.remove('open');
if (!document.getElementById('typeFilterWrap').contains(e.target)) typeMenu.classList.remove('open');
const obsWrap = document.getElementById('observerFilterWrap');
const typeWrap = document.getElementById('typeFilterWrap');
if (obsWrap && !obsWrap.contains(e.target)) { const m = obsWrap.querySelector('.multi-select-menu'); if (m) m.classList.remove('open'); }
if (typeWrap && !typeWrap.contains(e.target)) { const m = typeWrap.querySelector('.multi-select-menu'); if (m) m.classList.remove('open'); }
});
// Filter toggle button for mobile