mirror of
https://github.com/karl0ss/homepage.git
synced 2025-05-02 21:43:39 +01:00
Feature: SWAG dashboard widget (#3523)
This commit is contained in:
parent
0a75c831a6
commit
c6770d233c
14
docs/widgets/services/swagdashboard.md
Normal file
14
docs/widgets/services/swagdashboard.md
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
title: SWAG Dashboard
|
||||
description: SWAG Dashboard Widget Configuration
|
||||
---
|
||||
|
||||
Learn more about [SWAG Dashboard](https://github.com/linuxserver/docker-mods/tree/swag-dashboard).
|
||||
|
||||
Allowed fields: `["proxied", "auth", "outdated", "banned"]`.
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
type: swagdashboard
|
||||
url: http://swagdashboard.host.or.ip:adminport # default port is 81
|
||||
```
|
@ -129,6 +129,7 @@ nav:
|
||||
- widgets/services/sonarr.md
|
||||
- widgets/services/speedtest-tracker.md
|
||||
- widgets/services/stash.md
|
||||
- widgets/services/swagdashboard.md
|
||||
- widgets/services/syncthing-relay-server.md
|
||||
- widgets/services/tailscale.md
|
||||
- widgets/services/tandoor.md
|
||||
|
@ -882,5 +882,11 @@
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
"total": "Total"
|
||||
},
|
||||
"swagdashboard": {
|
||||
"proxied": "Proxied",
|
||||
"auth": "With Auth",
|
||||
"outdated": "Outdated",
|
||||
"banned": "Banned"
|
||||
}
|
||||
}
|
||||
|
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user