queuedVideosDiv = document.getElementById("queued-videos"); erroredVideosDiv = document.getElementById("errored-videos"); noContentDiv = document.getElementById("no-queued"); let lastQueuedCount = 0; let lastErroredCount = 0; function updateQueuedVideos() { const updateUrl = document.getElementById("updateUrl").innerText; console.log(updateUrl) fetch(updateUrl).then(response => { if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } return response.json(); }).then(data => { if (data.queued_videos && data.queued_videos.length !== lastQueuedCount) { lastQueuedCount = data.queued_videos.length; if (data.queued_videos.length > 0) { let queuedColumnContent = "

Queued

" data.queued_videos.forEach(video => { queuedColumnContent += `
thumbnail

${video.title}

` }) queuedVideosDiv.innerHTML = queuedColumnContent queuedVideosDiv.style.display = 'grid'; noContentDiv.innerHTML = '' } else { queuedVideosDiv.innerHTML = `` queuedVideosDiv.style.display = 'none'; } } if (data.errored_videos && data.errored_videos.length !== lastErroredCount) { lastErroredCount = data.errored_videos.length; if (data.errored_videos && data.errored_videos.length > 0) { let erroredColumnContent = "

Errored

" data.errored_videos.forEach(video => { erroredColumnContent += `
thumbnail

${video.title}

` }) erroredVideosDiv.innerHTML = erroredColumnContent erroredVideosDiv.style.display = 'grid'; noContentDiv.innerHTML = '' } else { erroredVideosDiv.innerHTML = `` erroredVideosDiv.style.display = 'none'; } } if (lastQueuedCount + lastErroredCount > 0) { noContentDiv.innerHTML = '' } else { noContentDiv.innerHTML = 'No Queued Downloads' } }) } setInterval(updateQueuedVideos, 2000);