diff options
Diffstat (limited to 'static/js/countdown.js')
-rw-r--r-- | static/js/countdown.js | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/static/js/countdown.js b/static/js/countdown.js deleted file mode 100644 index 8ba2e58d..00000000 --- a/static/js/countdown.js +++ /dev/null @@ -1,78 +0,0 @@ -"use strict"; - -(function(){ // Use a closure to avoid polluting global scope - const startjam = new Date(Date.UTC(2018, 2, 23)); - const endjam = new Date(Date.UTC(2018, 2, 26)); - - const now = Date.now(); - let goal; - - if (now + 1000 < endjam.getTime()) { // Only do anything if the jam hasn't ended - UIkit.notification( // Spawn the notification - { - "message": "" - + "<div class='uk-text-center'>" - + " <span id=\"countdown-title\" class=\"uk-text-center\">" - + " <a href=\"/info/jams\">Code Jam</a> Countdown" - + " </span>" - + " <p class='uk-text-large' id=\"countdown-remaining\">...</p>" - + "<small style='font-size: 0.6em;'>(Tap/click to dismiss)</small>" - + "</div>", - "pos": "bottom-right", - "timeout": endjam - now - } - ); - - const heading = document.getElementById("countdown-title"); - - if (now > startjam.getTime()) { // Jam's already started - heading.innerHTML = "Current <a href=\"/info/jams\">code jam</a> ends in..."; - goal = endjam.getTime(); - } else { - heading.innerHTML = "Next <a href=\"/info/jams\">code jam</a> starts in..."; - goal = startjam.getTime(); - } - - const refreshCountdown = setInterval(() => { // Create a repeating task - let delta = goal - Date.now(); // Time until the goal is met - - if (delta <= 1000) { // Goal has been met, best reload - clearInterval(refreshCountdown); - return location.reload(); - } - - let days = Math.floor(delta / (24 * 60 * 60 * 1000)); - delta -= days * (24 * 60 * 60 * 1000); - - let hours = Math.floor(delta / (60 * 60 * 1000)); - delta -= hours * (60 * 60 * 1000); - - let minutes = Math.floor(delta / (60 * 1000)); - delta -= minutes * (60 * 1000); - - let seconds = Math.floor(delta / 1000); - - if (days < 10) { - days = `0${days}`; - } - - if (hours < 10) { - hours = `0${hours}`; - } - - if (minutes < 10) { - minutes = `0${minutes}`; - } - - if (seconds < 10) { - seconds = `0${seconds}`; - } - - try { - document.getElementById("countdown-remaining").innerHTML = `${days}:${hours}:${minutes}:${seconds}`; - } catch (e) { // Notification was probably closed, so we can stop counting - return clearInterval(refreshCountdown); - } - }, 500); - } -})(); |