31 lines
817 B
JavaScript
31 lines
817 B
JavaScript
const out = document.getElementById('debug-output')
|
|
const btnCopy = document.getElementById('btn-copy')
|
|
const btnRefresh = document.getElementById('btn-refresh')
|
|
const btnClear = document.getElementById('btn-clear')
|
|
|
|
const render = lines => {
|
|
out.textContent = lines.join('\n')
|
|
out.scrollTop = out.scrollHeight
|
|
}
|
|
|
|
const load = async () => {
|
|
const res = await fetch('/api/debug/logs?limit=5000')
|
|
const data = await res.json()
|
|
if (data.ok) render(data.lines)
|
|
}
|
|
|
|
btnCopy.addEventListener('click', async () => {
|
|
const text = out.textContent || ''
|
|
try { await navigator.clipboard.writeText(text) } catch {}
|
|
})
|
|
|
|
btnRefresh.addEventListener('click', load)
|
|
|
|
btnClear.addEventListener('click', async () => {
|
|
await fetch('/api/debug/clear', { method: 'POST' })
|
|
await load()
|
|
})
|
|
|
|
setInterval(load, 5000)
|
|
load()
|