mirror of
https://github.com/gethomepage/homepage.git
synced 2025-12-06 21:57:48 +01:00
Feature: SWAG dashboard widget (#3523)
This commit is contained in:
@@ -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")),
|
||||
|
||||
33
src/widgets/swagdashboard/component.jsx
Normal file
33
src/widgets/swagdashboard/component.jsx
Normal 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>
|
||||
);
|
||||
}
|
||||
8
src/widgets/swagdashboard/widget.js
Normal file
8
src/widgets/swagdashboard/widget.js
Normal file
@@ -0,0 +1,8 @@
|
||||
import genericProxyHandler from "utils/proxy/handlers/generic";
|
||||
|
||||
const widget = {
|
||||
api: "{url}/?stats=true",
|
||||
proxyHandler: genericProxyHandler,
|
||||
};
|
||||
|
||||
export default widget;
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user