Compare commits
3 commits
ad768bb389
...
86f43a4b43
Author | SHA1 | Date | |
---|---|---|---|
![]() |
86f43a4b43 | ||
![]() |
724015cf62 | ||
![]() |
7008405987 |
4 changed files with 324 additions and 327 deletions
34
app.js
34
app.js
|
@ -126,36 +126,30 @@ function setTimePreview(date) {
|
|||
|
||||
function setupTimeMachine() {
|
||||
const slider = document.getElementById('timemachine');
|
||||
slider.min = 0;
|
||||
// Remaining minutes until 23:59
|
||||
// 24 * 60 - [current hours * 60] - [current minutes] - [1 min to midnight]
|
||||
slider.max = 1440 - (NOW.getHours() * 60) - NOW.getMinutes() - 1;
|
||||
slider.min = 8 * 60 + 30;
|
||||
slider.max = 19 * 60 + 30;
|
||||
|
||||
slider.addEventListener("input", (e) => {
|
||||
const hours = Math.floor(slider.value / 60);
|
||||
const mins = slider.value % 60;
|
||||
|
||||
let newDate = new Date();
|
||||
newDate.setHours(newDate.getHours() + hours);
|
||||
newDate.setMinutes(newDate.getMinutes() + mins);
|
||||
const date = new Date();
|
||||
date.setHours(0);
|
||||
date.setMinutes(slider.value);
|
||||
const node = getRoomNode();
|
||||
|
||||
setTimePreview(newDate)
|
||||
setTimePreview(date);
|
||||
|
||||
ROOMS.forEach((roomTitle) => {
|
||||
colorRoom(roomTitle, node, newDate);
|
||||
colorRoom(roomTitle, node, date);
|
||||
});
|
||||
});
|
||||
|
||||
// 10 mins into the future by default
|
||||
slider.value = 10;
|
||||
setTimePreview(new Date(NOW.getTime() + 600000));
|
||||
const date = new Date();
|
||||
const mins = date.getHours() * 60 + date.getMinutes();
|
||||
slider.value = mins < slider.min ? slider.min :
|
||||
mins > slider.max ? slider.max : mins;
|
||||
setTimePreview(date);
|
||||
}
|
||||
|
||||
(async () => {
|
||||
for (const room of ROOMS) {
|
||||
await buildRoomMarkup(room);
|
||||
}
|
||||
})();
|
||||
// Thanks to Andrea Gallidabino and his mastery checks for this
|
||||
Promise.all(ROOMS.map(buildRoomMarkup)).catch(console.error);
|
||||
|
||||
setupTimeMachine();
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
/* Inter font */
|
||||
/* vim: set ts=2 sw=2 et tw=80: */
|
||||
|
||||
@font-face {
|
||||
font-family: 'Inter';
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- vim: set ts=2 sw=2 et tw=80: -->
|
||||
<html>
|
||||
<head>
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<title>USI • Rooms availability</title>
|
||||
|
||||
|
@ -10,8 +10,8 @@
|
|||
<link rel="icon" href="assets/images/icon-64.png">
|
||||
<link rel="manifest" href="manifest.json">
|
||||
<link rel="stylesheet" href="assets/index.css">
|
||||
</head>
|
||||
<body>
|
||||
</head>
|
||||
<body>
|
||||
<h1>USI INF room availability</h1>
|
||||
|
||||
<div class="timepicker">
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
{
|
||||
"_modeline": " vim: set ts=2 sw=2 et tw=80:",
|
||||
|
||||
"short_name": "USI Rooms",
|
||||
"name": "USI INF Rooms",
|
||||
"icons": [
|
||||
|
|
Loading…
Reference in a new issue