blob: 51b8a13aa9645f9ca4550d5090d0193f583ffa01 (
plain)
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Tickets</title>
<style>
@media (prefers-color-scheme: dark) {
body {
background-color: #333333;
color: white;
}
}
body {
font-size: x-large;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}
@media (min-width: 600px) {
body {
max-width: 1600px;
}
}
button {
margin-top: 1em;
}
</style>
<script>
/*
@licstart The following is the entire license notice for the
JavaScript code in this page.
Copyright (C) 2026 Florian Fischer
The JavaScript code in this page is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this page.
*/
</script>
<script>
let HttpClient = function() {
function newRequest(callback) {
let request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200)
callback(request.responseText);
}
return request;
}
this.get = function(url, callback) {
let request = newRequest(callback);
request.open("GET", url, true);
request.send(null);
}
}
function requestHelp() {
new HttpClient().get("new", (myNumber) => {
let helpDiv = document.getElementById("help");
while(helpDiv.firstChild) { helpDiv.removeChild(helpDiv.firstChild); }
let ticketText = document.createElement("text");
ticketText.innerHTML = "Deine Nummer: ";
let ticketSpan = document.createElement("span");
ticketSpan.innerHTML = myNumber;
helpDiv.appendChild(ticketText);
helpDiv.appendChild(ticketSpan);
});
}
function finishHelp() {
new HttpClient().get("done", () => { location.reload(); } );
}
</script>
</head>
<body>
<div id="next">
Nächstes Hilfe Ticket
<span id="done">{{.Done}}</span>
</div>
{{if .IsAdmin}}
<button id="doneButton" onclick="finishHelp()">Done</button>
{{else}}
<div id="help">
<button id="hilfeButton" onclick="requestHelp()">Ich brauche Hilfe!</button>
</div>
{{end}}
</body>
</html>
|