Restructure settings page into individual smaller files. The massive file grew beyond all bounds and was rather unmaintainable. The new structure has a number of benefits, most importantly it's a lot more repsonsive as we do not have to fire a ton of individual AJAX queries to populate all tabs but only need to source what is actually displayed on the page we are showing here

Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
DL6ER
2023-02-18 13:48:37 +01:00
parent 7396156274
commit 3ea5a985cf
13 changed files with 1012 additions and 943 deletions

View File

@@ -187,6 +187,10 @@ function updateFtlInfo() {
$("#sysinfo-cpu-ftl").text("(" + ftl["%cpu"].toFixed(1) + "% used by FTL)");
$("#sysinfo-ram-ftl").text("(" + ftl["%mem"].toFixed(1) + "% used by FTL)");
$("#sysinfo-pid-ftl").text(ftl.pid);
var startdate = moment()
.subtract(ftl.uptime, "milliseconds")
.format("dddd, MMMM Do YYYY, HH:mm:ss");
$("#sysinfo-uptime-ftl").text(startdate);
$("#sysinfo-privacy_level").text(ftl.privacy_level);
$("#sysinfo-ftl-overlay").hide();
// Update every 120 seconds
@@ -517,3 +521,41 @@ $("#pihole-disable-custom").on("click", function (e) {
custVal = $("#btnMins").hasClass("active") ? custVal * 60 : custVal;
piholeChange("disable", custVal);
});
function initSettingsLevel() {
// Restore settings level from local storage (if available) or default to 0
var level = localStorage.getItem("settings-level");
if (level === null) {
level = "0";
}
// Set the settings level
$("#settings-level").val(level);
applySettingsLevel(level);
}
function applySettingsLevel(level) {
if (level === "2") {
$(".settings-level-0").show();
$(".settings-level-1").show();
$(".settings-level-2").show();
} else if (level === "1") {
$(".settings-level-0").show();
$(".settings-level-1").show();
$(".settings-level-2").hide();
} else {
$(".settings-level-0").show();
$(".settings-level-1").hide();
$(".settings-level-2").hide();
}
}
$("#settings-level").on("change", function () {
var level = $(this).val();
applySettingsLevel(level);
localStorage.setItem("settings-level", level);
});
$(function () {
initSettingsLevel();
});