(status)
| 4918 | `${label} · ${left}s left`); |
| 4919 | } else { |
| 4920 | st.innerHTML = bar(100, true, 'capture done — analyzing…'); |
| 4921 | } |
| 4922 | }; |
| 4923 | render(); |
| 4924 | const timer = setInterval(render, 500); |
| 4925 | return { done() { clearInterval(timer); } }; |
| 4926 | } |
| 4927 | |
| 4928 | function wifidefScan() { |
| 4929 | const iface = _wifidef.iface || document.getElementById('wifidef-iface').value; |
| 4930 | if (!iface) return Promise.resolve(); |
| 4931 | const secs = document.getElementById('wifidef-secs').value || 15; |
| 4932 | let ch = (document.getElementById('wifidef-channel').value || 'hop').trim(); |
| 4933 | const chParam = /^\d+$/.test(ch) ? ch : 'auto'; |
| 4934 | const st = document.getElementById('wifidef-status'); |
| 4935 | const btn = document.getElementById('wifidef-scan-btn'); |
| 4936 | const ctrl = new AbortController(); |
| 4937 | _wifidef.abort = ctrl; |
| 4938 | const prog = _wifidefProgress(st, parseInt(secs) || 15, |
| 4939 | (_wifidef.continuous ? 'Continuous — capturing' : 'Capturing') + (chParam !== 'auto' ? ' ch ' + chParam : '')); |
nothing calls this directly
no test coverage detected