summaryrefslogtreecommitdiff
path: root/hosts/ahmed/minecraft-log-server/public/scripts/plain.js
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/ahmed/minecraft-log-server/public/scripts/plain.js')
-rw-r--r--hosts/ahmed/minecraft-log-server/public/scripts/plain.js68
1 files changed, 0 insertions, 68 deletions
diff --git a/hosts/ahmed/minecraft-log-server/public/scripts/plain.js b/hosts/ahmed/minecraft-log-server/public/scripts/plain.js
deleted file mode 100644
index c2da55e..0000000
--- a/hosts/ahmed/minecraft-log-server/public/scripts/plain.js
+++ /dev/null
@@ -1,68 +0,0 @@
-import ReconnectingEventSource from "./reconnecting-eventsource.min.js";
-
-function main() {
- const sse = new ReconnectingEventSource("/stream", {
- // Retry time after browser fails to reconnect (e.g. HTTP 502).
- // This is pretty sus, so let's wait a little longer...
- max_retry_time: 5_000,
- });
-
- sse.addEventListener("open", (event) => {
- addSpecialMessage("info", "Connection to log server established!");
- });
-
- sse.addEventListener("error", (event) => {
- console.error("SSE Error: ", event);
- addSpecialMessage("error", "Connection to log server lost! Retrying connection...");
- });
-
- sse.addEventListener("entry", (event) => {
- const line = JSON.parse(event.data);
- addEntry(line);
- });
-}
-
-function addEntry(json) {
- const $container = document.createElement("span");
- $container.classList.add("regular");
-
- const $time = document.createElement("time");
- const timestamp = new Date(+json["__REALTIME_TIMESTAMP"] / 1000);
- $time.textContent = `[${timestamp.toISOString()}]: `;
- $time.dateTime = timestamp;
- $container.append($time)
-
- const $unit = document.createElement("span");
- $unit.textContent = json["_SYSTEMD_UNIT"];
- $container.append($unit);
- $container.append(": ")
-
- const $message = document.createElement("span");
- $message.textContent = json["MESSAGE"];
- $container.append($message);
-
- $container.append("\n");
- addToOutput($container);
-}
-
-function addSpecialMessage(klass, message) {
- const $message = document.createElement("span");
- $message.classList.add(klass);
- $message.textContent = message;
- $message.textContent += "\n";
- addToOutput($message);
-}
-
-function addToOutput($elem) {
- // TODO: Maybe allow for a little wiggle-room?
- const wasAtBottom = window.innerHeight + window.scrollY >= document.body.offsetHeight;
-
- const $target = document.getElementById("target");
- $target.appendChild($elem);
-
- if (wasAtBottom) {
- window.scrollTo(0, document.body.scrollHeight);
- }
-}
-
-main();