From e6ef40ac84f034565dbac236c9346ca2e066cd08 Mon Sep 17 00:00:00 2001 From: KingKDot Date: Mon, 30 Mar 2026 22:21:50 -0500 Subject: [PATCH] persist select offline. (I should probably add the rest as well) --- Overlord-Server/public/assets/main.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Overlord-Server/public/assets/main.js b/Overlord-Server/public/assets/main.js index 952dc42..5b44b26 100644 --- a/Overlord-Server/public/assets/main.js +++ b/Overlord-Server/public/assets/main.js @@ -40,6 +40,7 @@ const bulkClearBtn = document.getElementById("bulk-clear"); const serverVersionText = document.getElementById("server-version-text"); const selectedClients = new Set(); let lastNonOnlineStatus = "all"; +const PREF_FILTER_STATUS_KEY = "overlord_filter_status"; let currentUser = null; let contextCard = null; @@ -449,6 +450,7 @@ sortSelect?.addEventListener("change", (e) => { filterStatusSelect?.addEventListener("change", (e) => { state.filterStatus = e.target.value; + localStorage.setItem(PREF_FILTER_STATUS_KEY, state.filterStatus); if (state.filterStatus === "online") { if (showOfflineToggle) showOfflineToggle.checked = false; } else { @@ -474,6 +476,17 @@ initCountryPicker((code) => { loadWithOptions({ force: true, reorder: true }); }); +(function restoreFilterStatus() { + const saved = localStorage.getItem(PREF_FILTER_STATUS_KEY); + const valid = ["all", "online", "offline"]; + if (saved && valid.includes(saved)) { + state.filterStatus = saved; + if (filterStatusSelect) filterStatusSelect.value = saved; + if (showOfflineToggle) showOfflineToggle.checked = saved !== "online"; + if (saved !== "online") lastNonOnlineStatus = saved; + } +})(); + showOfflineToggle?.addEventListener("change", (e) => { if (e.target.checked) { state.filterStatus = lastNonOnlineStatus || "all"; @@ -483,6 +496,7 @@ showOfflineToggle?.addEventListener("change", (e) => { } state.filterStatus = "online"; } + localStorage.setItem(PREF_FILTER_STATUS_KEY, state.filterStatus); if (filterStatusSelect) { filterStatusSelect.value = state.filterStatus; }