mirror of
https://github.com/gethomepage/homepage.git
synced 2025-12-07 09:35:54 -08:00
Omada widget : spliting widget between WLAN and LAN/WAN fields to have no more than 5 fields per widget.
This commit is contained in:
@@ -25,6 +25,7 @@ const components = {
|
|||||||
npm: dynamic(() => import("./npm/component")),
|
npm: dynamic(() => import("./npm/component")),
|
||||||
nzbget: dynamic(() => import("./nzbget/component")),
|
nzbget: dynamic(() => import("./nzbget/component")),
|
||||||
omada: dynamic(() => import("./omada/component")),
|
omada: dynamic(() => import("./omada/component")),
|
||||||
|
omadalan: dynamic(() => import("./omadalan/component")),
|
||||||
ombi: dynamic(() => import("./ombi/component")),
|
ombi: dynamic(() => import("./ombi/component")),
|
||||||
overseerr: dynamic(() => import("./overseerr/component")),
|
overseerr: dynamic(() => import("./overseerr/component")),
|
||||||
paperlessngx: dynamic(() => import("./paperlessngx/component")),
|
paperlessngx: dynamic(() => import("./paperlessngx/component")),
|
||||||
|
|||||||
@@ -24,11 +24,6 @@ export default function Component({ service }) {
|
|||||||
<Block label="omada.activeUser" />
|
<Block label="omada.activeUser" />
|
||||||
<Block label="omada.alerts" />
|
<Block label="omada.alerts" />
|
||||||
<Block label="omada.isolatedAp" />
|
<Block label="omada.isolatedAp" />
|
||||||
<Block label="omada.connectedGateway" />
|
|
||||||
<Block label="omada.powerConsumption" />
|
|
||||||
<Block label="omada.availablePorts" />
|
|
||||||
<Block label="omada.connectedSwitches" />
|
|
||||||
|
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -39,11 +34,6 @@ export default function Component({ service }) {
|
|||||||
<Block label="omada.activeUser" value={t( "common.number", { value: omadaData.activeUser })} />
|
<Block label="omada.activeUser" value={t( "common.number", { value: omadaData.activeUser })} />
|
||||||
<Block label="omada.alerts" value={t( "common.number", { value: omadaData.alerts })} />
|
<Block label="omada.alerts" value={t( "common.number", { value: omadaData.alerts })} />
|
||||||
<Block label="omada.isolatedAp" value={t("common.number", { value: omadaData.isolatedAp})} />
|
<Block label="omada.isolatedAp" value={t("common.number", { value: omadaData.isolatedAp})} />
|
||||||
<Block label="omada.connectedGateway" value={t("common.number", { value: omadaData.connectedGateways})}/>
|
|
||||||
<Block label="omada.powerConsumption" value={t("common.power", { value: omadaData.powerConsumption})}/>
|
|
||||||
<Block label="omada.availablePorts" value={t("common.number", { value: omadaData.availablePorts})}/>
|
|
||||||
<Block label="omada.connectedSwitches" value={t("common.number", { value: omadaData.connectedSwitches})} />
|
|
||||||
|
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import createLogger from "utils/logger";
|
|||||||
import widgets from "widgets/widgets";
|
import widgets from "widgets/widgets";
|
||||||
|
|
||||||
const proxyName = "omadaProxyHandler";
|
const proxyName = "omadaProxyHandler";
|
||||||
// const tokenCacheKey = `${proxyName}__token`;
|
|
||||||
const logger = createLogger(proxyName);
|
const logger = createLogger(proxyName);
|
||||||
|
|
||||||
|
|
||||||
@@ -61,6 +61,7 @@ export default async function omadaProxyHandler(req, res) {
|
|||||||
let cversion;
|
let cversion;
|
||||||
let connectedAp;
|
let connectedAp;
|
||||||
let isolatedAp;
|
let isolatedAp;
|
||||||
|
let disconnectedAp;
|
||||||
let activeuser;
|
let activeuser;
|
||||||
let connectedSwitches;
|
let connectedSwitches;
|
||||||
let connectedGateways;
|
let connectedGateways;
|
||||||
@@ -210,6 +211,7 @@ export default async function omadaProxyHandler(req, res) {
|
|||||||
connectedAp = data.result.connectedAp;
|
connectedAp = data.result.connectedAp;
|
||||||
activeuser = data.result.activeUser;
|
activeuser = data.result.activeUser;
|
||||||
isolatedAp = data.result.isolatedAp;
|
isolatedAp = data.result.isolatedAp;
|
||||||
|
disconnectedAp = data.result.disconnectedAp;
|
||||||
alerts = data.result.alerts;
|
alerts = data.result.alerts;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@@ -274,7 +276,7 @@ export default async function omadaProxyHandler(req, res) {
|
|||||||
"connectedSwitches": connectedSwitches,
|
"connectedSwitches": connectedSwitches,
|
||||||
"availablePorts": availablePorts,
|
"availablePorts": availablePorts,
|
||||||
"powerConsumption": powerConsumption,
|
"powerConsumption": powerConsumption,
|
||||||
|
"disconnectedAp": disconnectedAp,
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ const widget = {
|
|||||||
mappings: {
|
mappings: {
|
||||||
stats: {
|
stats: {
|
||||||
endpoint: "controller",
|
endpoint: "controller",
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
41
src/widgets/omadalan/component.jsx
Normal file
41
src/widgets/omadalan/component.jsx
Normal file
@@ -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 <Container error={omadaAPIError} />;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!omadaData) {
|
||||||
|
return (
|
||||||
|
<Container service={service}>
|
||||||
|
<Block label="omada.alerts" />
|
||||||
|
<Block label="omada.connectedGateway" />
|
||||||
|
<Block label="omada.powerConsumption" />
|
||||||
|
<Block label="omada.availablePorts" />
|
||||||
|
<Block label="omada.connectedSwitches" />
|
||||||
|
</Container>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Container service={service}>
|
||||||
|
<Block label="omada.alerts" value={t( "common.number", { value: omadaData.alerts })} />
|
||||||
|
<Block label="omada.connectedGateway" value={t("common.number", { value: omadaData.connectedGateways})}/>
|
||||||
|
<Block label="omada.powerConsumption" value={t("common.power", { value: omadaData.powerConsumption})}/>
|
||||||
|
<Block label="omada.availablePorts" value={t("common.number", { value: omadaData.availablePorts})}/>
|
||||||
|
<Block label="omada.connectedSwitches" value={t("common.number", { value: omadaData.connectedSwitches})} />
|
||||||
|
</Container>
|
||||||
|
);
|
||||||
|
}
|
||||||
15
src/widgets/omadalan/widget.js
Normal file
15
src/widgets/omadalan/widget.js
Normal file
@@ -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;
|
||||||
@@ -19,6 +19,8 @@ import mastodon from "./mastodon/widget";
|
|||||||
import navidrome from "./navidrome/widget";
|
import navidrome from "./navidrome/widget";
|
||||||
import npm from "./npm/widget";
|
import npm from "./npm/widget";
|
||||||
import nzbget from "./nzbget/widget";
|
import nzbget from "./nzbget/widget";
|
||||||
|
import omada from "./omada/widget";
|
||||||
|
import omadalan from './omadalan/widget';
|
||||||
import ombi from "./ombi/widget";
|
import ombi from "./ombi/widget";
|
||||||
import overseerr from "./overseerr/widget";
|
import overseerr from "./overseerr/widget";
|
||||||
import paperlessngx from "./paperlessngx/widget";
|
import paperlessngx from "./paperlessngx/widget";
|
||||||
@@ -43,7 +45,6 @@ import transmission from "./transmission/widget";
|
|||||||
import tubearchivist from "./tubearchivist/widget";
|
import tubearchivist from "./tubearchivist/widget";
|
||||||
import truenas from "./truenas/widget";
|
import truenas from "./truenas/widget";
|
||||||
import unifi from "./unifi/widget";
|
import unifi from "./unifi/widget";
|
||||||
import omada from "./omada/widget";
|
|
||||||
import watchtower from './watchtower/widget'
|
import watchtower from './watchtower/widget'
|
||||||
|
|
||||||
const widgets = {
|
const widgets = {
|
||||||
@@ -70,6 +71,7 @@ const widgets = {
|
|||||||
npm,
|
npm,
|
||||||
nzbget,
|
nzbget,
|
||||||
omada,
|
omada,
|
||||||
|
omadalan,
|
||||||
ombi,
|
ombi,
|
||||||
overseerr,
|
overseerr,
|
||||||
paperlessngx,
|
paperlessngx,
|
||||||
|
|||||||
Reference in New Issue
Block a user