homepage/src/widgets/prowlarr/component.jsx

48 lines
1.7 KiB
React
Raw Normal View History

2022-12-23 08:38:52 -08:00
import { useTranslation } from "react-i18next";
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 }) {
const { t } = useTranslation();
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: grabsData, error: grabsError } = useWidgetAPI(widget, "indexerstats");
2022-09-26 00:35:54 +03:00
2023-02-18 22:58:55 -08:00
if (grabsError) {
2023-04-30 19:09:37 -04:00
return <Container service={service} error={grabsError} />;
2022-09-26 00:35:54 +03:00
}
2023-02-18 22:58:55 -08:00
if (!grabsData) {
2022-09-26 00:35:54 +03:00
return (
<Container service={service}>
<Block label="prowlarr.numberOfGrabs" />
<Block label="prowlarr.numberOfQueries" />
<Block label="prowlarr.numberOfFailGrabs" />
<Block label="prowlarr.numberOfFailQueries" />
2022-09-26 15:25:10 +03:00
</Container>
2022-09-26 00:35:54 +03:00
);
}
let numberOfGrabs = 0;
let numberOfQueries = 0;
let numberOfFailedGrabs = 0;
let numberOfFailedQueries = 0;
grabsData?.indexers?.forEach((element) => {
numberOfGrabs += element.numberOfGrabs;
numberOfQueries += element.numberOfQueries;
2023-04-22 09:31:35 +03:00
numberOfFailedGrabs += element.numberOfFailedGrabs;
numberOfFailedQueries += element.numberOfFailedQueries;
2022-09-26 00:35:54 +03:00
});
return (
<Container service={service}>
<Block label="prowlarr.numberOfGrabs" value={t("common.number", { value: numberOfGrabs })} />
<Block label="prowlarr.numberOfQueries" value={t("common.number", { value: numberOfQueries })} />
<Block label="prowlarr.numberOfFailGrabs" value={t("common.number", { value: numberOfFailedGrabs })} />
<Block label="prowlarr.numberOfFailQueries" value={t("common.number", { value: numberOfFailedQueries })} />
2022-09-26 15:25:10 +03:00
</Container>
2022-09-26 00:35:54 +03:00
);
}