From 4cba196a12448ce2a4b618416c0d001f61b94146 Mon Sep 17 00:00:00 2001 From: KingKDot Date: Sun, 19 Apr 2026 00:20:35 -0500 Subject: [PATCH] server optimizations --- Overlord-Server/public/assets/data.js | 2 ++ Overlord-Server/public/assets/main.js | 17 +++++++------- Overlord-Server/public/assets/nav.js | 34 ++++++++++++++------------- Overlord-Server/public/index.html | 9 ++++--- 4 files changed, 35 insertions(+), 27 deletions(-) diff --git a/Overlord-Server/public/assets/data.js b/Overlord-Server/public/assets/data.js index 72a11ad..fb0ca0c 100644 --- a/Overlord-Server/public/assets/data.js +++ b/Overlord-Server/public/assets/data.js @@ -71,6 +71,8 @@ export async function loadWithOptions(options = {}) { } state.lastDigest = digest; render(data, { reorder }); + const pag = document.getElementById("pagination"); + if (pag) pag.style.visibility = ""; if (!state.thumbnailsRequested) { state.thumbnailsRequested = true; diff --git a/Overlord-Server/public/assets/main.js b/Overlord-Server/public/assets/main.js index ad58ab8..fb19066 100644 --- a/Overlord-Server/public/assets/main.js +++ b/Overlord-Server/public/assets/main.js @@ -11,7 +11,6 @@ import { requestThumbnail, markManualDisconnect, } from "./data.js"; -import { initCountryPicker } from "./country-picker.js"; const grid = document.getElementById("grid"); const totalPill = document.getElementById("total-pill"); @@ -620,13 +619,15 @@ filterGroupSelect?.addEventListener("change", (e) => { loadWithOptions({ force: true, reorder: true }); }); -initCountryPicker((code) => { - state.filterCountry = code; - localStorage.setItem(PREF_FILTER_COUNTRY_KEY, code); - state.page = 1; - state.lastDigest = ""; - loadWithOptions({ force: true, reorder: true }); -}, localStorage.getItem(PREF_FILTER_COUNTRY_KEY) || "all"); +import("./country-picker.js").then(({ initCountryPicker }) => { + initCountryPicker((code) => { + state.filterCountry = code; + localStorage.setItem(PREF_FILTER_COUNTRY_KEY, code); + state.page = 1; + state.lastDigest = ""; + loadWithOptions({ force: true, reorder: true }); + }, localStorage.getItem(PREF_FILTER_COUNTRY_KEY) || "all"); +}); (function restoreFilterStatus() { const savedStatus = localStorage.getItem(PREF_FILTER_STATUS_KEY); diff --git a/Overlord-Server/public/assets/nav.js b/Overlord-Server/public/assets/nav.js index 232ee1f..0b2a273 100644 --- a/Overlord-Server/public/assets/nav.js +++ b/Overlord-Server/public/assets/nav.js @@ -9,13 +9,13 @@ import { import { mountNav } from "./nav/template.js"; import { createAdaptiveNavController } from "./nav/layout.js"; import { applyUserRoleUI } from "./nav/role-ui.js"; -import { showCertBannerIfNeeded } from "./cert-banner.js"; -import * as chatWidget from "./chat-widget.js"; const host = document.getElementById("top-nav"); if (host) { const refs = mountNav(host); - showCertBannerIfNeeded(document.getElementById("sb-mobile-bar") || host); + import("./cert-banner.js").then(({ showCertBannerIfNeeded }) => { + showCertBannerIfNeeded(document.getElementById("sb-mobile-bar") || host); + }); const { applyAdaptiveNavLayout, navHide } = createAdaptiveNavController(host, refs); if (refs.navHideBtn && navHide) { @@ -156,18 +156,20 @@ if (host) { loadCurrentUser(); } - chatWidget.init(); + import("./chat-widget.js").then((chatWidget) => { + chatWidget.init(); - if (chatWidget.isHidden() && refs.navUtility) { - const restoreBtn = document.createElement("button"); - restoreBtn.id = "chat-restore-btn"; - restoreBtn.className = "inline-flex items-center gap-2 px-3 py-2 rounded-lg bg-slate-900/70 border border-slate-800 text-slate-500 hover:text-slate-300 hover:bg-slate-800 text-xs transition-colors"; - restoreBtn.title = "Show team chat"; - restoreBtn.innerHTML = 'Chat'; - restoreBtn.addEventListener("click", () => { - chatWidget.show(); - restoreBtn.remove(); - }); - refs.navUtility.insertBefore(restoreBtn, refs.navUtility.firstChild); - } + if (chatWidget.isHidden() && refs.navUtility) { + const restoreBtn = document.createElement("button"); + restoreBtn.id = "chat-restore-btn"; + restoreBtn.className = "inline-flex items-center gap-2 px-3 py-2 rounded-lg bg-slate-900/70 border border-slate-800 text-slate-500 hover:text-slate-300 hover:bg-slate-800 text-xs transition-colors"; + restoreBtn.title = "Show team chat"; + restoreBtn.innerHTML = 'Chat'; + restoreBtn.addEventListener("click", () => { + chatWidget.show(); + restoreBtn.remove(); + }); + refs.navUtility.insertBefore(restoreBtn, refs.navUtility.firstChild); + } + }); } diff --git a/Overlord-Server/public/index.html b/Overlord-Server/public/index.html index 541672d..b703324 100644 --- a/Overlord-Server/public/index.html +++ b/Overlord-Server/public/index.html @@ -13,7 +13,10 @@ - + + + +
@@ -151,8 +154,8 @@ -
-
+
+