Skip to content

Commit

Permalink
use dynamic timeouts instead of interval in frontpage js
Browse files Browse the repository at this point in the history
  • Loading branch information
pk910 committed Sep 8, 2023
1 parent ab80f4d commit 889652f
Showing 1 changed file with 14 additions and 8 deletions.
22 changes: 14 additions & 8 deletions static/js/page-index.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@

(function() {
window.addEventListener('DOMContentLoaded', function() {
window.setInterval(refreshLoop, 500);
window.setTimeout(refreshLoop, 500);
});

var refreshInterval = 15;
var refreshInterval = 15000;
var lastRefresh = new Date().getTime();
var isRefreshing = false;
var viewModel = null;
Expand All @@ -20,16 +20,22 @@
};

function refreshLoop() {
var refreshTimeout = Math.ceil(refreshInterval - ((new Date().getTime() - lastRefresh) / 1000));
var refreshTimeout = refreshInterval - ((new Date().getTime() - lastRefresh));
if(refreshTimeout < 0)
refreshTimeout = 0;
document.getElementById("update_timer").innerText = "Next update in " + refreshTimeout + "s";
document.getElementById("update_timer").innerText = "Next update in " + Math.ceil(refreshTimeout / 1000) + "s";

if(refreshTimeout > 0)
return;
if(refreshTimeout <= 0) {
lastRefresh = new Date().getTime();
refreshTimeout = refreshInterval;
refresh();
}

lastRefresh = new Date().getTime();
refresh();
if(refreshTimeout > 1000)
refreshTimeout -= Math.floor(refreshTimeout/1000)*1000;
if(refreshTimeout == 0)
refreshTimeout = 1000;
window.setTimeout(refreshLoop, refreshTimeout);
}

async function refresh() {
Expand Down

0 comments on commit 889652f

Please sign in to comment.