-
Notifications
You must be signed in to change notification settings - Fork 0
/
client.js
83 lines (69 loc) · 1.95 KB
/
client.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
"use strict";
// Constants
const host = "192.168.2.102";
const port = "8000"
// Main
_updateDraftState();
_updateTimer();
// Buttons
const startButton = document.querySelector('[name="start"]');
const stopButton = document.querySelector('[name="stop"]');
// Eventlistener
startButton.addEventListener("click", fetchStartButton);
stopButton.addEventListener("click", fetchStopButton);
// Functions
function fetchStopButton () {
fetch(`http://${host}:${port}/stopqueue`);
}
function fetchStartButton () {
fetch(`http://${host}:${port}/queuegame`);
}
function test(str) {
alert(str);
}
function _changeBGColor(color) {
document.body.style.backgroundColor = color;
}
function _updateTextElement(elementID,strValue) {
document.getElementById(elementID).innerHTML = strValue;
}
async function _updateDraftState() {
const sleep = (delay) => new Promise(resolve => {
setTimeout(resolve, delay);
});
for (;; await sleep(1_000)) {
const initext = await fetchTxt("state");
var draftState;
draftState = initext.includes("False");
_updateTextElement("state",!draftState);
if (draftState) {
_changeBGColor("red");
}
if (!draftState) {
_changeBGColor("Green");
}
}
}
async function _updateTimer() {
const sleep = (delay) => new Promise(resolve => {
setTimeout(resolve, delay);
});
let minutes = 0;
let seconds = 0;
for (;; await sleep(1_000)) {
const timer = await fetchTxt("timer");
minutes = Math.floor(timer/60);
seconds = timer % 60;
const time = minutes + 'min:' + seconds + 'sec';
if (minutes > 89) {
_updateTextElement("timer","0");
} else {
_updateTextElement("timer",time);
}
}
}
async function fetchTxt(txt) {
const r = await fetch(`http://${host}:${port}/${txt}`);
const text = await r.text();
return text;
}