From c115d1da7a023de323e8e4a4cbc966601faf30a4 Mon Sep 17 00:00:00 2001 From: DL6ER Date: Tue, 23 May 2023 20:32:51 +0200 Subject: [PATCH] Blocking status changed from boolean to string-enum to support "failure" as DNS status Signed-off-by: DL6ER --- scripts/pi-hole/js/footer.js | 49 +++++++++++++++++++++++++--------- scripts/pi-hole/lua/sidebar.lp | 2 +- 2 files changed, 37 insertions(+), 14 deletions(-) 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 @@