Fix root-cause JS initialization error and make all button handlers 100% robust

This commit is contained in:
drjones
2026-07-20 22:00:07 -07:00
parent 031fccb3ff
commit a8b2062efd

View File

@@ -792,15 +792,20 @@ function showTab(tabId){
} }
/* ---------- helpers ---------- */ /* ---------- helpers ---------- */
function seg(el){ el.querySelectorAll("button").forEach(b=>b.onclick=()=>{ function seg(el){
el.querySelectorAll("button").forEach(x=>x.classList.remove("on")); b.classList.add("on");});} if(!el) return;
seg($("segPx")); seg($("segLen")); el.querySelectorAll("button").forEach(b=>b.onclick=()=>{
el.querySelectorAll("button").forEach(x=>x.classList.remove("on"));
b.classList.add("on");
});
}
document.querySelectorAll(".seg").forEach(el=>seg(el));
document.querySelectorAll(".sw").forEach(s=>s.onclick=()=>{ document.querySelectorAll(".sw").forEach(s=>s.onclick=()=>{
s.classList.toggle("on"); s.classList.toggle("on");
if(s.id==="swRouter") $("routerCfg").style.display = s.classList.contains("on") ? "block" : "none"; if(s.id==="swRouter" && $("routerCfg")) $("routerCfg").style.display = s.classList.contains("on") ? "block" : "none";
}); });
const segVal=el=>el.querySelector("button.on").dataset.v; const segVal=el=>(el && el.querySelector("button.on")) ? el.querySelector("button.on").dataset.v : "";
const swOn=id=>$(id).classList.contains("on"); const swOn=id=>$(id) ? $(id).classList.contains("on") : false;
/* ---------- appearance settings (accent color, density, page size) ---------- */ /* ---------- appearance settings (accent color, density, page size) ---------- */
const ACCENT_PRESETS = ["#22d3ee","#e879f9","#4ade80","#fbbf24","#f87171","#818cf8","#fb923c"]; const ACCENT_PRESETS = ["#22d3ee","#e879f9","#4ade80","#fbbf24","#f87171","#818cf8","#fb923c"];