From 4a78006b2d911cd75b98a9bcd642046083d3d27f Mon Sep 17 00:00:00 2001
From: shamoon <4887959+shamoon@users.noreply.github.com>
Date: Sat, 13 May 2023 13:18:38 -0700
Subject: [PATCH] simplify pfsense widget, rename, limit blocks
---
public/locales/en/common.json | 6 +-
src/utils/config/service-helpers.js | 6 +-
src/widgets/components.js | 2 +-
src/widgets/pfsense/component.jsx | 51 ++++++++++++
src/widgets/{pfsenseapi => pfsense}/widget.js | 0
src/widgets/pfsenseapi/component.jsx | 83 -------------------
src/widgets/widgets.js | 4 +-
7 files changed, 60 insertions(+), 92 deletions(-)
create mode 100644 src/widgets/pfsense/component.jsx
rename src/widgets/{pfsenseapi => pfsense}/widget.js (100%)
delete mode 100644 src/widgets/pfsenseapi/component.jsx
diff --git a/public/locales/en/common.json b/public/locales/en/common.json
index f0333438..79138cad 100755
--- a/public/locales/en/common.json
+++ b/public/locales/en/common.json
@@ -514,9 +514,9 @@
"origin_ip": "Origin IP",
"status": "Status"
},
- "pfsenseapi": {
- "load": "LOAD AVG",
- "memory": "MEM USAGE",
+ "pfsense": {
+ "load": "Load Avg",
+ "memory": "Mem Usage",
"wanStatus": "WAN Status",
"up": "Up",
"down": "Down",
diff --git a/src/utils/config/service-helpers.js b/src/utils/config/service-helpers.js
index 80c13544..4942aeae 100644
--- a/src/utils/config/service-helpers.js
+++ b/src/utils/config/service-helpers.js
@@ -267,7 +267,7 @@ export function cleanServiceGroups(groups) {
namespace, // kubernetes widget
app,
podSelector,
- wan, // opnsense widget, pfsenseapi widget
+ wan, // opnsense widget, pfsense widget
enableBlocks, // emby/jellyfin
enableNowPlaying,
volume, // diskstation widget
@@ -299,10 +299,10 @@ export function cleanServiceGroups(groups) {
if (app) cleanedService.widget.app = app;
if (podSelector) cleanedService.widget.podSelector = podSelector;
}
- if (type === "opnsense" || type === "pfsenseapi") {
+ if (["opnsense", "pfsense"].includes(type)) {
if (wan) cleanedService.widget.wan = wan;
}
- if (type === "emby" || type === "jellyfin") {
+ if (["emby", "jellyfin"].includes(type)) {
if (enableBlocks !== undefined) cleanedService.widget.enableBlocks = JSON.parse(enableBlocks);
if (enableNowPlaying !== undefined) cleanedService.widget.enableNowPlaying = JSON.parse(enableNowPlaying);
}
diff --git a/src/widgets/components.js b/src/widgets/components.js
index 48e09284..754898bf 100644
--- a/src/widgets/components.js
+++ b/src/widgets/components.js
@@ -52,7 +52,7 @@ const components = {
opnsense: dynamic(() => import("./opnsense/component")),
overseerr: dynamic(() => import("./overseerr/component")),
paperlessngx: dynamic(() => import("./paperlessngx/component")),
- pfsenseapi: dynamic(() => import("./pfsenseapi/component")),
+ pfsense: dynamic(() => import("./pfsense/component")),
photoprism: dynamic(() => import("./photoprism/component")),
proxmoxbackupserver: dynamic(() => import("./proxmoxbackupserver/component")),
pihole: dynamic(() => import("./pihole/component")),
diff --git a/src/widgets/pfsense/component.jsx b/src/widgets/pfsense/component.jsx
new file mode 100644
index 00000000..803f0307
--- /dev/null
+++ b/src/widgets/pfsense/component.jsx
@@ -0,0 +1,51 @@
+import { useTranslation } from "next-i18next";
+
+import Container from "components/services/widget/container";
+import Block from "components/services/widget/block";
+import useWidgetAPI from "utils/proxy/use-widget-api";
+
+export default function Component({ service }) {
+ const { t } = useTranslation();
+
+ const { widget } = service;
+
+ const { data: systemData, error: systemError } = useWidgetAPI(widget, "system");
+ const { data: interfaceData, error: interfaceError } = useWidgetAPI(widget, "interface");
+
+ const showWanIP = widget.fields?.filter(f => f !== 'wanIP').length <= 4 && widget.fields?.includes('wanIP');
+ const showDiskUsage = widget.fields?.filter(f => f !== 'disk').length <= 4 && widget.fields?.includes('disk');
+
+ if (systemError || interfaceError) {
+ const finalError = systemError ?? interfaceError;
+ return ;
+ }
+
+ if (!systemData || !interfaceData) {
+ return (
+
+
+
+
+
+ {showWanIP && }
+ {showDiskUsage && }
+
+ );
+ }
+
+ const wan = interfaceData.data.filter(l => l.hwif === widget.wan)[0];
+
+ return (
+
+
+
+
+ {t("pfsense.up")}:
+ {t("pfsense.down")}}
+ />
+ {showWanIP && }
+ {showDiskUsage && }
+
+ );
+}
diff --git a/src/widgets/pfsenseapi/widget.js b/src/widgets/pfsense/widget.js
similarity index 100%
rename from src/widgets/pfsenseapi/widget.js
rename to src/widgets/pfsense/widget.js
diff --git a/src/widgets/pfsenseapi/component.jsx b/src/widgets/pfsenseapi/component.jsx
deleted file mode 100644
index 4c8b3d67..00000000
--- a/src/widgets/pfsenseapi/component.jsx
+++ /dev/null
@@ -1,83 +0,0 @@
-import { useTranslation } from "next-i18next";
-
-import Container from "components/services/widget/container";
-import Block from "components/services/widget/block";
-import useWidgetAPI from "utils/proxy/use-widget-api";
-
-export default function Component({ service }) {
- const { t } = useTranslation();
-
- const { widget } = service;
-
- const { data: systemData, error: systemError } = useWidgetAPI(widget, "system");
- const { data: interfaceData, error: interfaceError } = useWidgetAPI(widget, "interface");
-
- const showDiskUsage = widget.fields?.includes('disk');
- const showWanIP = widget.fields?.includes('wanIP');
-
- if (systemError || interfaceError) {
- const finalError = systemError ?? interfaceError;
- return ;
- }
-
- if (!systemData || !interfaceData) {
- return (
-
-
-
-
-
- {showWanIP && }
- {showDiskUsage && }
-
- );
- }
-
- const loadAvg = systemData.data.load_avg[0];
- const memory = systemData.data.mem_usage;
- const tempC = systemData.data.temp_c
- const disk = systemData.data.disk_usage
-
- const wanState = interfaceData.data.filter(l => l.hwif === widget.wan)[0].status
- const wanStatus = (wanState === "up") ?
- {t("pfsenseapi.up")}:
- {t("pfsenseapi.down")};
- const wanIP = interfaceData.data.filter(l => l.hwif === widget.wan)[0].ipaddr
-
- return (
-
-
-
-
-
- {
- showWanIP
- &&
-
- }
- {
- showDiskUsage
- &&
-
- }
-
- );
-}
diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js
index 9cafc8c5..f7b07a96 100644
--- a/src/widgets/widgets.js
+++ b/src/widgets/widgets.js
@@ -46,7 +46,7 @@ import ombi from "./ombi/widget";
import opnsense from "./opnsense/widget";
import overseerr from "./overseerr/widget";
import paperlessngx from "./paperlessngx/widget";
-import pfsenseapi from "./pfsenseapi/widget";
+import pfsense from "./pfsense/widget";
import photoprism from "./photoprism/widget";
import proxmoxbackupserver from "./proxmoxbackupserver/widget";
import pihole from "./pihole/widget";
@@ -131,7 +131,7 @@ const widgets = {
opnsense,
overseerr,
paperlessngx,
- pfsenseapi,
+ pfsense,
photoprism,
proxmoxbackupserver,
pihole,