diff options
author | sageman_ <sageman@anomine.net> | 2021-07-03 14:30:14 +0200 |
---|---|---|
committer | sageman_ <sageman@anomine.net> | 2021-07-03 14:30:14 +0200 |
commit | dd6189378cbc4c8ad22b95951b103880dd39060d (patch) | |
tree | 3879e5d7feaccc7ff5f1c4c28e05f439de5a07cf /static/js/timer.js | |
parent | 9bd4e03d926c045dc82ce844cb02b078843ce787 (diff) |
Implement auto-reload functionality
A constant 5 second reload interval instead of increasing the reload intervals by 5 seconds every time so that the user does not miss any time sensitive posts.
This also works with the invalid captcha patch.
Diffstat (limited to 'static/js/timer.js')
-rw-r--r-- | static/js/timer.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/static/js/timer.js b/static/js/timer.js new file mode 100644 index 0000000..8f6516c --- /dev/null +++ b/static/js/timer.js @@ -0,0 +1,38 @@ +var timerCount; +var timerToggle = false; +var timer; +const contentLoadHandler = function(event){ + timerToggle = !!document.getElementById("autoreload-checkbox").checked; + if(timerToggle){ + timerCount = 5; + document.getElementById("autoreload-countdown").innerHTML = "5"; + document.getElementById("autoreload-countdown").style.visibility = "visible"; + timer = setInterval(timerFunction, 1000); + document.removeEventListener("DOMContentLoaded", contentLoadHandler, false); + } +}; + +document.addEventListener("DOMContentLoaded", contentLoadHandler, false); + +function timerFunction(){ + timerCount--; + document.getElementById("autoreload-countdown").innerHTML = timerCount; + if(timerCount <= 0){ + document.getElementById("autoreload-countdown").innerHTML = "Refreshing..."; + clearInterval(timer); + location.reload(); + } +} + +function autoTimer(){ + timerToggle = !timerToggle; + if(timerToggle === true){ + timerCount = 5; + document.getElementById("autoreload-countdown").innerHTML = "5"; + document.getElementById("autoreload-countdown").style.visibility = "visible"; + timer = setInterval(timerFunction, 1000); + }else{ + clearInterval(timer); + document.getElementById("autoreload-countdown").style.visibility = "hidden"; + } +}
\ No newline at end of file |