window.LogsModule = { ws: null, init: () => { const box = document.getElementById('log-box'); const connect = () => { window.LogsModule.ws = new WebSocket(`ws://${location.host}${window.location.pathname.replace(/\/$/,'')}/api/logs/ws`); window.LogsModule.ws.onopen = () => box.innerHTML += `
🟢 Connected
`; window.LogsModule.ws.onmessage = e => { try { const d = JSON.parse(e.data); if(d.type === 'log') { const cls = d.level === 'ERROR' ? 'log-ERROR' : d.level === 'WARNING' ? 'log-WARNING' : 'log-INFO'; const t = d.timestamp ? new Date(d.timestamp*1000).toLocaleTimeString() : '--'; box.innerHTML += `
${t}[${d.level}] ${d.message}
`; box.scrollTop = box.scrollHeight; } } catch(e){} }; window.LogsModule.ws.onclose = setTimeout(connect, 3000); }; connect(); }, destroy: () => window.LogsModule.ws?.close() };