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
7 changed files with 65 additions and 0 deletions

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;