summaryrefslogtreecommitdiffstats
path: root/prog/jelka/templates/index.html
blob: f73d0b739b864d4f82c24fae44d7857606f3c9e5 (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
76
77
78
79
80
81
82
83
84
85
86
87
88
<meta name=viewport content='width=device-width, initial-scale=1.0'>
<title>jelka na fmf</title>
<h1>jelka na fmf</h1>
<label for=geslo>geslo: </label><input id=geslo type=text placeholder=geslo /> (geslo najdete na LED zaslonu)
<br>
<label for=čas>čas vzorca v sekundah: </label><input id=čas type=number placeholder=10 min=1 max=300 /> <button onclick=nastavi_čas()>nastavi!</button>
<br>
<!-- enkrat poženi poljuben vzorec: <input type=file id=file /> <button id=poženi>poženi</button> -->
<ul id=vzorci></ul>
<script>
	function nastavi_čas() {
		if (geslo.value == "") {
			alert("nastavite geslo!");
			return;
		}
		fetch(geslo.value, {
			method: "POST",
			body: JSON.stringify({
				"čas": Numberas.value)
			}),
		}).then(data => {
			data.json().then(json => {
				if (Object.keys(json).includes("napaka")) {
					alert(json.napaka.besedilo)
				}
			})
		});
	}
	geslo.value = location.hash.substr(1);
	const evt = new EventSource("stream/");
	evt.onmessage = (e) => {
		data = JSON.parse(e.data);
		console.log(data);
		vzorci.innerHTML = "";
		for (let i = 0; i < data.vzorci.length; i++) {
			const li = document.createElement("li");
			const začni = document.createElement("button");
			const a = document.createElement("a");
			if (data["trenuten"] == data.vzorci[i])
				li.innerText = "trenuten: ";
			začni.innerText = "začni";
			a.innerText = data.vzorci[i];
			a.href = "vzorci/" + data.vzorci[i];
			li.appendChild(a);
			začni.onclick = () => {
				if (geslo.value == "") {
					alert("nastavite geslo!");
					return;
				}
				fetch(geslo.value, {
					method: "POST",
					body: JSON.stringify({
						"začni": data.vzorci[i]
					}),
				}).then(data => {
					data.json().then(json => {
						if (Object.keys(json).includes("napaka")) {
							alert(a.napaka.besedilo)
						}
					})
				});
			};
			li.appendChild(začni);
			const stanje = document.createElement("button");
			stanje.innerText = "onemogoči";
			if (data.onemogočeni.includes(data.vzorci[i]))
				stanje.innerText = "omogoči";
			stanje.onclick = () => {
				if (geslo.value == "") {
					alert("nastavite geslo!");
					return;
				}
				fetch(geslo.value, {
					method: "POST",
					body: "{\"" + stanje.innerText + "\": [\"" + data.vzorci[i] + "\"]}",
				}).then(data => {
					data.json().then(json => {
						if (Object.keys(json).includes("napaka")) {
							alert(a.napaka.besedilo)
						}
					})
				});
			};
			li.appendChild(stanje);
			vzorci.appendChild(li);
		}
	}
</script>