15 lines
565 B
Django/Jinja
15 lines
565 B
Django/Jinja
const hideIdle = {{ hide_idle | lower }};
|
|
const es = new EventSource('/sse/countdown/{{ id }}');
|
|
es.addEventListener('tick', e => {
|
|
const {id, remaining} = JSON.parse(e.data);
|
|
document.getElementById('countdown-' + id).innerText = remaining;
|
|
});
|
|
es.AddEventListener('state', e => {
|
|
const {id, state} = JSON.parse(e.data);
|
|
if (hideIdle) {
|
|
document.getElementById('countdown-' + id).style.display = state === 'idle' ? 'none' : '';
|
|
}
|
|
}
|
|
es.addEventListener('reload', () => location.reload());
|
|
es.onerror = () => setTimeout(() => location.reload(), 3000);
|