diff --git a/src/widgets/components.js b/src/widgets/components.js
index 681b877c..7f3477e2 100644
--- a/src/widgets/components.js
+++ b/src/widgets/components.js
@@ -25,6 +25,7 @@ const components = {
npm: dynamic(() => import("./npm/component")),
nzbget: dynamic(() => import("./nzbget/component")),
omada: dynamic(() => import("./omada/component")),
+ omadalan: dynamic(() => import("./omadalan/component")),
ombi: dynamic(() => import("./ombi/component")),
overseerr: dynamic(() => import("./overseerr/component")),
paperlessngx: dynamic(() => import("./paperlessngx/component")),
diff --git a/src/widgets/omada/component.jsx b/src/widgets/omada/component.jsx
index e234d1d5..c2bce933 100644
--- a/src/widgets/omada/component.jsx
+++ b/src/widgets/omada/component.jsx
@@ -24,11 +24,6 @@ export default function Component({ service }) {
-
-
-
-
-
);
}
@@ -39,11 +34,6 @@ export default function Component({ service }) {
-
-
-
-
-
);
}
diff --git a/src/widgets/omada/proxy.js b/src/widgets/omada/proxy.js
index cba05d73..ed1fd30f 100644
--- a/src/widgets/omada/proxy.js
+++ b/src/widgets/omada/proxy.js
@@ -5,7 +5,7 @@ import createLogger from "utils/logger";
import widgets from "widgets/widgets";
const proxyName = "omadaProxyHandler";
-// const tokenCacheKey = `${proxyName}__token`;
+
const logger = createLogger(proxyName);
@@ -61,6 +61,7 @@ export default async function omadaProxyHandler(req, res) {
let cversion;
let connectedAp;
let isolatedAp;
+ let disconnectedAp;
let activeuser;
let connectedSwitches;
let connectedGateways;
@@ -210,6 +211,7 @@ export default async function omadaProxyHandler(req, res) {
connectedAp = data.result.connectedAp;
activeuser = data.result.activeUser;
isolatedAp = data.result.isolatedAp;
+ disconnectedAp = data.result.disconnectedAp;
alerts = data.result.alerts;
} else {
@@ -274,7 +276,7 @@ export default async function omadaProxyHandler(req, res) {
"connectedSwitches": connectedSwitches,
"availablePorts": availablePorts,
"powerConsumption": powerConsumption,
-
+ "disconnectedAp": disconnectedAp,
}));
}
}
diff --git a/src/widgets/omada/widget.js b/src/widgets/omada/widget.js
index 959487af..0ef4177e 100644
--- a/src/widgets/omada/widget.js
+++ b/src/widgets/omada/widget.js
@@ -8,7 +8,6 @@ const widget = {
mappings: {
stats: {
endpoint: "controller",
-
}
}
};
diff --git a/src/widgets/omadalan/component.jsx b/src/widgets/omadalan/component.jsx
new file mode 100644
index 00000000..953ab036
--- /dev/null
+++ b/src/widgets/omadalan/component.jsx
@@ -0,0 +1,41 @@
+import { useTranslation } from "next-i18next";
+
+import useWidgetAPI from "../../utils/proxy/use-widget-api";
+import Container from "../../components/services/widget/container";
+import Block from "../../components/services/widget/block";
+
+export default function Component({ service }) {
+ const { t } = useTranslation();
+
+ const { widget } = service;
+
+ const { data: omadaData, error: omadaAPIError } = useWidgetAPI(widget, "stats", {
+ refreshInterval: 5000,
+ });
+
+ if (omadaAPIError) {
+ return ;
+ }
+
+ if (!omadaData) {
+ return (
+
+
+
+
+
+
+
+ );
+ }
+
+ return (
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/widgets/omadalan/widget.js b/src/widgets/omadalan/widget.js
new file mode 100644
index 00000000..e7775bdd
--- /dev/null
+++ b/src/widgets/omadalan/widget.js
@@ -0,0 +1,15 @@
+import omadaProxyHandler from "../omada/proxy";
+// import genericProxyHandler from "../../utils/proxy/handlers/generic";
+
+const widget = {
+ api: "{url}/web/v1/{endpoint}",
+ proxyHandler: omadaProxyHandler,
+
+ mappings: {
+ stats: {
+ endpoint: "controller",
+ }
+ }
+};
+
+export default widget;
diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js
index 6b237950..f458eaed 100644
--- a/src/widgets/widgets.js
+++ b/src/widgets/widgets.js
@@ -19,6 +19,8 @@ import mastodon from "./mastodon/widget";
import navidrome from "./navidrome/widget";
import npm from "./npm/widget";
import nzbget from "./nzbget/widget";
+import omada from "./omada/widget";
+import omadalan from './omadalan/widget';
import ombi from "./ombi/widget";
import overseerr from "./overseerr/widget";
import paperlessngx from "./paperlessngx/widget";
@@ -43,7 +45,6 @@ import transmission from "./transmission/widget";
import tubearchivist from "./tubearchivist/widget";
import truenas from "./truenas/widget";
import unifi from "./unifi/widget";
-import omada from "./omada/widget";
import watchtower from './watchtower/widget'
const widgets = {
@@ -70,6 +71,7 @@ const widgets = {
npm,
nzbget,
omada,
+ omadalan,
ombi,
overseerr,
paperlessngx,