diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2026-06-28 15:44:06 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2026-06-28 15:45:37 +0200 |
| commit | 2d12f1d9a8ec4a6604dc4de119aace633043b29e (patch) | |
| tree | fc20e0f9a37d46a0d45d8a3327e6686e9d971a81 /index.html | |
| parent | bf4c9866949a24ebbccdc488a8543a2e4e0f444c (diff) | |
| download | ticket-counter-2d12f1d9a8ec4a6604dc4de119aace633043b29e.tar.gz ticket-counter-2d12f1d9a8ec4a6604dc4de119aace633043b29e.zip | |
use the server startup time to drop old cached tickets
Diffstat (limited to 'index.html')
| -rw-r--r-- | index.html | 17 |
1 files changed, 13 insertions, 4 deletions
@@ -80,7 +80,7 @@ button { function requestHelp() { new HttpClient().get("new", (myNumber) => { myTicket = myNumber; - localStorage.setItem("my-ticket", myTicket); + localStorage.setItem("my-ticket", JSON.stringify({"t": myTicket, "e": Date.now()})); showTicket(); }); } @@ -119,9 +119,17 @@ button { var myTicket; function init() { - myTicket = localStorage.getItem("my-ticket"); - if (myTicket) - showTicket(); + const cached = JSON.parse(localStorage.getItem("my-ticket")); + if (!cached) return; + + const serverEpoch = Date.parse(document.getElementById("epoch").textContent); + if (cached.e < serverEpoch) { + localStorage.removeItem("my-ticket"); + return; + } + + myTicket = cached.t; + showTicket(); } if (document.readyState === "loading") { @@ -133,6 +141,7 @@ button { </script> </head> <body> + <div id="epoch" style="display: none;">{{.StartTime}}</div> <div id="next"> Nächstes Hilfe Ticket <span id="done">{{.Done}}</span> |
