/* Parent → Wristband pairing: pair & manage the child's RFID band. */ function WristbandScreen({ onNav, onBack }) { const child = jlChild(); const [paired, setPaired] = React.useState(() => { try { return localStorage.getItem('jl_band_'+child.id)==='1'; } catch(e){ return false; } }); const [pairing, setPairing] = React.useState(false); const [code, setCode] = React.useState(''); const [alerts, setAlerts] = React.useState(true); const [tap, setTap] = React.useState(null); React.useEffect(() => { const read = () => { try { setTap((JSON.parse(localStorage.getItem('jl_roster')||'{}'))[child.id] || null); } catch(e){} }; read(); const iv = setInterval(read, 1500); window.addEventListener('storage', read); return () => { clearInterval(iv); window.removeEventListener('storage', read); }; }, [child.id]); const startPair = () => { if (code.trim().length < 4) { jlToast('Enter the 6-digit code on the band', { icon:'triangle-alert', color:'#E5484D' }); return; } setPairing(true); setTimeout(() => { setPairing(false); setPaired(true); try { localStorage.setItem('jl_band_'+child.id,'1'); } catch(e){} jlToast(child.first + "'s wristband paired", { icon:'check-check', color:'#1F9D57' }); }, 1400); }; return (