diff --git a/scripts/pi-hole/js/groups-lists.js b/scripts/pi-hole/js/groups-lists.js
index 0c7f54aa..5caef0f0 100644
--- a/scripts/pi-hole/js/groups-lists.js
+++ b/scripts/pi-hole/js/groups-lists.js
@@ -23,39 +23,10 @@ $(function () {
function format(data) {
// Generate human-friendly status string
- var statusText = "Unknown";
+ var statusText = setStatusText(data, true);
var numbers = true;
- if (data.status !== null) {
- switch (parseInt(data.status, 10)) {
- case 0:
- statusText =
- data.enabled === 0
- ? "List is disabled and not checked"
- : "List was not downloaded so far";
- numbers = false;
- break;
- case 1:
- statusText = 'List download was successful (OK)';
- break;
- case 2:
- statusText =
- 'List unchanged upstream, Pi-hole used a local copy (OK)';
- break;
- case 3:
- statusText =
- 'List unavailable, Pi-hole used a local copy (check list)';
- break;
- case 4:
- statusText =
- 'List unavailable, there is no local copy of this list available on your Pi-hole (replace list)';
- numbers = false;
- break;
-
- default:
- statusText =
- 'Unknown (' + parseInt(data.status, 10) + ")";
- break;
- }
+ if (data.status === 0 || data.status === 4) {
+ numbers = false;
}
// Compile extra info for displaying
@@ -135,6 +106,46 @@ function setStatusIcon(statusCode) {
return "";
}
+// Define human-friendly status string
+function setStatusText(data, showdetails = false) {
+ var statusText = "Unknown",
+ statusDetails = "";
+ if (data.status !== null) {
+ switch (parseInt(data.status, 10)) {
+ case 0:
+ statusText =
+ data.enabled === 0
+ ? "List is disabled and not checked"
+ : "List was not downloaded so far";
+ break;
+ case 1:
+ statusText = "List download was successful";
+ statusDetails = ' (OK)';
+ break;
+ case 2:
+ statusText = "List unchanged upstream, Pi-hole used a local copy";
+ statusDetails = ' (OK)';
+ break;
+ case 3:
+ statusText = "List unavailable, Pi-hole used a local copy";
+ statusDetails = ' (check list)';
+ break;
+ case 4:
+ statusText =
+ "List unavailable, there is no local copy of this list available on your Pi-hole";
+ statusDetails = ' (replace list)';
+ break;
+
+ default:
+ statusText = "Unknown";
+ statusDetails = ' (' + parseInt(data.status, 10) + ")";
+ break;
+ }
+ }
+
+ return statusText + (showdetails === true ? statusDetails : "");
+}
+
// Define the status icon element
function setTypeIcon(type) {
//Add red ban icon if data["type"] is "block"