diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2026-01-24 16:15:35 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2026-01-24 16:15:35 +0100 |
| commit | 975158b1a2c6a1fbd79b93c6ee1aae127b8672c1 (patch) | |
| tree | 159121251f9226aafa3a4c0318b211b64fe8469d /index.html | |
| download | ticket-counter-975158b1a2c6a1fbd79b93c6ee1aae127b8672c1.tar.gz ticket-counter-975158b1a2c6a1fbd79b93c6ee1aae127b8672c1.zip | |
initial commit
Diffstat (limited to 'index.html')
| -rw-r--r-- | index.html | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/index.html b/index.html new file mode 100644 index 0000000..51b8a13 --- /dev/null +++ b/index.html @@ -0,0 +1,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> |
