about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--app/javascript/styles/custom.scss18
-rw-r--r--public/clock.js40
-rw-r--r--public/riot-glitch.pngbin0 -> 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