function updateRadioStatus() { const $ = id => document.getElementById(id); fetch("/stats") .then(r => r.json()) .then(radio => { $("radio-status").innerHTML = `On-air since `; $("radio-song").textContent = radio.song; $("radio-listeners").textContent = radio.listeners; $("radio-listener-peak").textContent = radio.listener_peak; }).catch(() => { $("radio-status").textContent = "Now is offline"; $("radio-song").textContent = $("radio-listeners").textContent = $("radio-listener-peak").textContent = "n/a"; }); } function updateLastPlayedSong() { const $ = id => document.getElementById(id); fetch('/lastsong') .then(r => r.json()) .then(last_played => { let cur_artist = $('last-played').firstChild.lastChild.firstChild.innerText; let cur_title = $('last-played').firstChild.lastChild.lastChild.innerText; if (last_played.artist == cur_artist && last_played.title == cur_title) return; $('last-played').firstChild.firstChild.remove(); let row = $('last-played').insertRow(); let artist_cell = row.insertCell(); artist_cell.appendChild(document.createTextNode(last_played.artist)); let title_cell = row.insertCell(); title_cell.appendChild(document.createTextNode(last_played.title)); }); } function updateAll() { updateRadioStatus(); updateLastPlayedSong(); } setInterval(updateRadioStatus, 45000); setInterval(updateLastPlayedSong, 45000);