homepage/src/widgets/traefik/component.jsx

33 lines
1.0 KiB
React
Raw Normal View History

2022-09-26 15:25:10 +03:00
import Container from "components/services/widget/container";
import Block from "components/services/widget/block";
2022-09-27 22:59:14 +03:00
import useWidgetAPI from "utils/proxy/use-widget-api";
2022-09-26 00:35:54 +03:00
export default function Component({ service }) {
2022-09-27 22:59:14 +03:00
const { widget } = service;
2022-09-26 00:35:54 +03:00
2022-09-27 22:59:14 +03:00
const { data: traefikData, error: traefikError } = useWidgetAPI(widget, "overview");
2022-09-26 00:35:54 +03:00
if (traefikError || traefikData?.error) {
const finalError = traefikError ?? traefikData.error;
return <Container error={finalError} />;
2022-09-26 00:35:54 +03:00
}
if (!traefikData) {
return (
<Container service={service}>
<Block label="traefik.routers" />
<Block label="traefik.services" />
<Block label="traefik.middleware" />
2022-09-26 15:25:10 +03:00
</Container>
2022-09-26 00:35:54 +03:00
);
}
return (
<Container service={service}>
<Block label="traefik.routers" value={traefikData.http.routers.total} />
<Block label="traefik.services" value={traefikData.http.services.total} />
<Block label="traefik.middleware" value={traefikData.http.middlewares.total} />
2022-09-26 15:25:10 +03:00
</Container>
2022-09-26 00:35:54 +03:00
);
}