Add per-browser setting to ignore non-fatal dnsmasq warnings

Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
DL6ER
2022-02-26 10:50:31 +01:00
parent e4d293a3c9
commit 21964cfd7f
4 changed files with 53 additions and 13 deletions

View File

@@ -102,18 +102,24 @@ function piholeChange(action, duration) {
}
function checkMessages() {
$.getJSON("api_db.php?status", function (data) {
if ("message_count" in data && data.message_count > 0) {
var title =
data.message_count > 1
? "There are " + data.message_count + " warnings. Click for further details."
: "There is one warning. Click for further details.";
var ignoreNonfatal = localStorage
? localStorage.getItem("hideNonfatalDnsmasqWarnings_chkbox")
: false;
$.getJSON(
"api_db.php?status" + (ignoreNonfatal === "true" ? "&ignore=DNSMASQ_WARN" : ""),
function (data) {
if ("message_count" in data && data.message_count > 0) {
var title =
data.message_count > 1
? "There are " + data.message_count + " warnings. Click for further details."
: "There is one warning. Click for further details.";
$("#pihole-diagnosis").prop("title", title);
$("#pihole-diagnosis-count").text(data.message_count);
$("#pihole-diagnosis").removeClass("hidden");
$("#pihole-diagnosis").prop("title", title);
$("#pihole-diagnosis-count").text(data.message_count);
$("#pihole-diagnosis").removeClass("hidden");
}
}
});
);
}
function testCookies() {

View File

@@ -5,7 +5,7 @@
* This file is copyright under the latest version of the EUPL.
* Please see LICENSE file for your rights under this license. */
/* global utils:false */
/* global utils:false, checkMessages:false */
var token = $("#token").text();
$(function () {
@@ -446,3 +446,26 @@ $('button[id="removedynamic"]').on("click", function () {
},
});
});
// Non-fatal dnsmasq warnings toggle
$(function () {
var nonfatalwarnigns = $("#hideNonfatalDnsmasqWarnings");
var chkboxData = localStorage ? localStorage.getItem("hideNonfatalDnsmasqWarnings_chkbox") : null;
if (chkboxData !== null) {
// Restore checkbox state
nonfatalwarnigns.prop("checked", chkboxData === "true");
} else {
// Initialize checkbox
nonfatalwarnigns.prop("checked", false);
if (localStorage) {
localStorage.setItem("hideNonfatalDnsmasqWarnings_chkbox", false);
}
}
nonfatalwarnigns.click(function () {
localStorage.setItem("hideNonfatalDnsmasqWarnings_chkbox", nonfatalwarnigns.prop("checked"));
// Call check messages to make new setting effective
checkMessages();
});
});