From 9542f5694b2eb26c21cf45f104f2bd804477fe8f Mon Sep 17 00:00:00 2001 From: you Date: Sun, 22 Mar 2026 04:49:51 +0000 Subject: [PATCH] fix: null-guard multi-select menu close handler observerFilterWrap/typeFilterWrap don't exist when document click fires before renderLeft completes. --- public/index.html | 2 +- public/packets.js | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/public/index.html b/public/index.html index 781c442..07b4bbc 100644 --- a/public/index.html +++ b/public/index.html @@ -84,7 +84,7 @@ - + diff --git a/public/packets.js b/public/packets.js index 5ce7565..15a5e92 100644 --- a/public/packets.js +++ b/public/packets.js @@ -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