import {WebWebSocketHandler} from "./WebWebSocketHandler"; import {Modal} from "./Modal"; import {WebHandler} from "./WebHandler"; import {Pane} from "./Pane"; import {WebSocketPayload} from "../WebSocketPayload"; import {WebSocketEvent} from "../WebSocketEvent"; import {ButtonType} from "./ButtonType"; import {Containers} from "./Containers"; import {Setup} from "./Setup"; import {RequestType} from "../RequestType"; import container from "../database/Container"; import {IContainer} from "../database/IContainer"; import {Settings} from "./Settings"; const main = document.getElementById("main"); const time = document.getElementById("right"); document.addEventListener("DOMContentLoaded", async () => { console.log("DOM Loaded"); WebHandler.openPane(Pane.NONE); await connect(); setupOnClickEvents(); // Wait because sometimes the browser isn't ready for this dom update :( setTimeout(() => { WebWebSocketHandler.request(RequestType.CONTAINERS).then(Setup.onContainerUpdate); }, 1000); setInterval(() => { if (!time) return; let currentDate = new Date(); time.innerText = "" + (currentDate.getHours() < 10 ? "0" + currentDate.getHours() : currentDate.getHours()) + ":" + (currentDate.getMinutes() < 10 ? "0" + currentDate.getMinutes() : currentDate.getMinutes()); }, 1000); let eins = false; WebWebSocketHandler.registerForEvent(WebSocketEvent.CONTAINERS, (payload) => { if( eins) return; eins = true; let container: IContainer; let bottomContainers = document.getElementById("menuContainers") as HTMLDivElement; bottomContainers.innerHTML = ""; let containers = payload.data as IContainer[]; containers = containers.reverse(); for (container of containers) { let containerDiv = document.createElement("div") as HTMLDivElement; containerDiv.classList.add("container"); let span = document.createElement("span") as HTMLSpanElement; let pcnt = Math.round(container.filled * 100 / container.volume); if (!container.content) span.innerText = "-"; else if (isNaN(pcnt)) span.innerText = "?%"; else span.innerText = pcnt + "%"; if (pcnt < 5) { containerDiv.style.backgroundColor = "var(--danger)"; } else if (pcnt < 15) { containerDiv.style.backgroundColor = "#EF4F00"; } else if (pcnt < 40) { containerDiv.style.backgroundColor = "#FF5400"; } else { containerDiv.style.backgroundColor = "#5B5B9B"; } containerDiv.innerHTML = `