Feature: SWAG dashboard widget (#3523)

This commit is contained in:
quietsy 2024-05-28 08:00:52 +03:00 committed by GitHub
parent 0a75c831a6
commit c6770d233c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 65 additions and 0 deletions

View file

@ -103,6 +103,7 @@ const components = {
speedtest: dynamic(() => import("./speedtest/component")),
stash: dynamic(() => import("./stash/component")),
strelaysrv: dynamic(() => import("./strelaysrv/component")),
swagdashboard: dynamic(() => import("./swagdashboard/component")),
tailscale: dynamic(() => import("./tailscale/component")),
tandoor: dynamic(() => import("./tandoor/component")),
tautulli: dynamic(() => import("./tautulli/component")),

View file

@ -0,0 +1,33 @@
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 { widget } = service;
const { data: swagData, error: swagError } = useWidgetAPI(widget, "overview");
if (swagError) {
return <Container service={service} error={swagError} />;
}
if (!swagData) {
return (
<Container service={service}>
<Block label="swagdashboard.proxied" />
<Block label="swagdashboard.auth" />
<Block label="swagdashboard.outdated" />
<Block label="swagdashboard.banned" />
</Container>
);
}
return (
<Container service={service}>
<Block label="swagdashboard.proxied" value={swagData.proxied} />
<Block label="swagdashboard.auth" value={swagData.auth} />
<Block label="swagdashboard.outdated" value={swagData.outdated} />
<Block label="swagdashboard.banned" value={swagData.banned} />
</Container>
);
}

View file

@ -0,0 +1,8 @@
import genericProxyHandler from "utils/proxy/handlers/generic";
const widget = {
api: "{url}/?stats=true",
proxyHandler: genericProxyHandler,
};
export default widget;

View file

@ -94,6 +94,7 @@ import sonarr from "./sonarr/widget";
import speedtest from "./speedtest/widget";
import stash from "./stash/widget";
import strelaysrv from "./strelaysrv/widget";
import swagdashboard from "./swagdashboard/widget";
import tailscale from "./tailscale/widget";
import tandoor from "./tandoor/widget";
import tautulli from "./tautulli/widget";
@ -213,6 +214,7 @@ const widgets = {
speedtest,
stash,
strelaysrv,
swagdashboard,
tailscale,
tandoor,
tautulli,