diff options
-rw-r--r-- | app/javascript/styles/custom.scss | 18 | ||||
-rw-r--r-- | public/clock.js | 40 | ||||
-rw-r--r-- | public/riot-glitch.png | bin | 0 -> 24926 bytes |
3 files changed, 39 insertions, 19 deletions
diff --git a/app/javascript/styles/custom.scss b/app/javascript/styles/custom.scss index aa3fb9f0c..8c6c12316 100644 --- a/app/javascript/styles/custom.scss +++ b/app/javascript/styles/custom.scss @@ -12,25 +12,13 @@ body { @media screen and (min-width: 1300px) { .column { flex-grow: 1 !important; - max-width: 500px; + max-width: 400px; } .drawer { - width: 20%; + width: 17%; + max-width: 400px; } - - .columns-area { - justify-content: center; - } -} - -@media screen and (min-width: 1900px) { - .column, .drawer { - width: 400px; - border-radius: 4px; - height: 96vh; - margin-top: 2vh; - } } .muted { diff --git a/public/clock.js b/public/clock.js index 63cee1e1b..ffb9beae8 100644 --- a/public/clock.js +++ b/public/clock.js @@ -3,14 +3,46 @@ document.addEventListener("DOMContentLoaded", function(event) { setInterval(updateClock, 1000); }); +function getNextOpen(now) { + var days = [[0, 14], [4, 18], [8, 22], [12], [2, 16], [6, 20], [10]] + var nowday = now.getUTCDay(); + var nour = now.getUTCHours(); + + var open_hour = -1; + var d = 0; + + while (open_hour == -1) { + var times = days[(nowday + d) % 7]; + for (var i = 0; i < times.length; ++i) { + var time = times[i]; + if (time == nour) { + return "refresh"; + } else if (time > nour || d > 0) { + open_hour = time; + break; + } + } + if (open_hour == -1) { + d += 1; + nour = -1; + } + } + + var open = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate() + d)); + var ts = open.setUTCHours(open_hour); + return open; +} + function updateClock() { var clock = document.querySelector(".closed-registrations-message .clock"); var now = new Date(); - var open = new Date(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate()); - var ts = open.setUTCHours(19); - if (open - now < 0) { - open = new Date(ts + 24*60*60*1000); + var open = getNextOpen(now); + + if (open == "refresh") { + location.reload(); + return; } + var until = open - now; var ms = until % 1000; var s = Math.floor((until / 1000)) % 60; diff --git a/public/riot-glitch.png b/public/riot-glitch.png new file mode 100644 index 000000000..1c97ce5f1 --- /dev/null +++ b/public/riot-glitch.png Binary files differ |