diff --git a/scripts/pi-hole/js/footer.js b/scripts/pi-hole/js/footer.js index 94cfc82a..4d372606 100644 --- a/scripts/pi-hole/js/footer.js +++ b/scripts/pi-hole/js/footer.js @@ -25,15 +25,39 @@ function piholeChanged(blocking) { var ena = $("#pihole-enable"); var dis = $("#pihole-disable"); - if (blocking) { - status.html(" Active"); - ena.hide(); - dis.show(); - dis.removeClass("active"); - } else { - status.html(" Blocking disabled"); - ena.show(); - dis.hide(); + switch (blocking) { + case "enabled": { + status.html(" Active"); + ena.hide(); + dis.show(); + dis.removeClass("active"); + + break; + } + + case "disabled": { + status.html(" Blocking disabled"); + ena.show(); + dis.hide(); + + break; + } + + case "failure": { + status.html( + " DNS server failure" + ); + ena.hide(); + dis.hide(); + + break; + } + + default: { + status.html(" Status unknown"); + ena.hide(); + dis.hide(); + } } } @@ -92,19 +116,18 @@ function piholeChange(action, duration) { } btnStatus.html(" "); - const blocking = action === "enable"; $.ajax({ url: "/api/dns/blocking", method: "POST", data: JSON.stringify({ - blocking: blocking, + blocking: action === "enable", timer: parseInt(duration, 10) > 0 ? parseInt(duration, 10) : null, }), }) .done(function (data) { - if (data.blocking === blocking) { + if (data.blocking === action + "d") { btnStatus.html(""); - piholeChanged(blocking); + piholeChanged(data.blocking); if (duration > 0) { enaT.html(Date.now() + duration * 1000); setTimeout(countDown, 100); diff --git a/scripts/pi-hole/lua/sidebar.lp b/scripts/pi-hole/lua/sidebar.lp index 0798a3ce..016ba5cd 100644 --- a/scripts/pi-hole/lua/sidebar.lp +++ b/scripts/pi-hole/lua/sidebar.lp @@ -118,7 +118,7 @@