summaryrefslogtreecommitdiff
path: root/src/2b2w/index.html
blob: f2efe0b0899f789581741eeb70d864dc0dcc510b (plain) (blame)
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
<html>
    <head>
        <title>2Bored2Wait</title>
        <link rel="stylesheet" href="index.css">
    </head>
    <body>
        <div class="content">
            <h1>Place in queue: <div class="place">None</div> </h1>
            <h1>ETA: <div class="ETA">None</div> </h1>
            Password (leave blank if none) : <input type="password" class="password"><br>
            <button id="queueButton" class="start" onclick="start()">Start queuing</button><br><br>
            <input type="checkbox" class="restartQueue" onchange="toggleRestartQueue()"> Restart the queue if you're not connected at the end of it?
        </div>
        <script>
            setInterval(() => { //each second, update the info.
                const xhr = new XMLHttpRequest();
                xhr.open("GET", "/update", true);
                xhr.onreadystatechange = function() {
                    if (this.readyState == 4 && this.status == 200) {
                        const response = JSON.parse(this.responseText);
                        document.getElementsByClassName("place")[0].innerHTML = response.place;
                        document.getElementsByClassName("ETA")[0].innerHTML = response.ETA;
                        document.getElementsByClassName("restartQueue")[0].checked = response.restartQueue
                        const queueButton = document.getElementById('queueButton');
                        if(response.inQueue){
                            queueButton.innerHTML = "Stop queuing";
                            queueButton.setAttribute('onclick', 'stop()');
                            queueButton.className = 'stop';
                        }else{
                            queueButton.innerHTML = "Start queuing";
                            queueButton.setAttribute('onclick', 'start()');
                        queueButton.className = 'start';
                        }
                    }
                }
                xhr.setRequestHeader('XPassword', document.getElementsByClassName('password')[0].value)
                xhr.send();

            }, 1000);

            function start() {
                const xhr = new XMLHttpRequest();
                xhr.open("GET", "/start", true);
                xhr.setRequestHeader('XPassword', document.getElementsByClassName('password')[0].value)
                xhr.send();
                const queueButton = document.getElementById('queueButton');
                queueButton.innerHTML = "Stop queuing";
                queueButton.setAttribute('onclick', 'stop()');
                queueButton.setAttribute('onclick', 'stop()');
                queueButton.className = 'stop';
            }

            function stop() {
                const xhr = new XMLHttpRequest();
                xhr.open("GET", "/stop", true);
                xhr.setRequestHeader('XPassword', document.getElementsByClassName('password')[0].value)
                xhr.send();
                const queueButton = document.getElementById('queueButton');
                queueButton.innerHTML = "Start queuing";
                queueButton.setAttribute('onclick', 'start()');
                queueButton.className = 'start';
                document.getElementsByClassName("place")[0].innerHTML = 'None';
                document.getElementsByClassName("ETA")[0].innerHTML = 'None';
            }

            function toggleRestartQueue(){
                const xhr = new XMLHttpRequest();
                xhr.open("GET", "/togglerestart", true);
                xhr.setRequestHeader('XPassword', document.getElementsByClassName('password')[0].value)
                xhr.send();
            }

        </script>
    </body>
</html>