homepage/src/widgets/nextdns/component.jsx

42 lines
1.1 KiB
React
Raw Normal View History

2022-12-16 14:38:48 -03:00
import { useTranslation } from "next-i18next";
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 { t } = useTranslation();
const { widget } = service;
const { data: nextdnsData, error: nextdnsError } = useWidgetAPI(widget, "analytics/status");
if (nextdnsError) {
2023-04-30 19:09:37 -04:00
return <Container service={service} error={nextdnsError} />;
2022-12-16 14:38:48 -03:00
}
if (!nextdnsData) {
return (
<Container service={service}>
<Block key="status" label="widget.status" value={t("nextdns.wait")} />
</Container>
);
}
if (!nextdnsData?.data?.length) {
return (
<Container service={service}>
<Block key="status" label="widget.status" value={t("nextdns.no_devices")} />
2022-12-16 14:38:48 -03:00
</Container>
);
}
return (
<Container service={service}>
{nextdnsData.data.map((d) => (
<Block key={d.status} label={d.status} value={t("common.number", { value: d.queries })} />
))}
2022-12-16 14:38:48 -03:00
</Container>
);
}