import Block from "components/services/widget/block"; import Container from "components/services/widget/container"; import { useTranslation } from "next-i18next/pages"; import useWidgetAPI from "utils/proxy/use-widget-api"; import withWidgetFields from "utils/widget-fields"; const DEFAULT_FIELDS = ["online", "offline", "offline_alt", "total"]; export default function Component({ service: configuredService }) { const { t } = useTranslation(); const service = withWidgetFields(configuredService, DEFAULT_FIELDS); const { widget } = service; const { data: resultData, error: resultError } = useWidgetAPI(widget); if (resultError) { return ; } if (!resultData) { return ( ); } const total = Object.keys(resultData).length; const online = Object.entries(resultData).filter(([, v]) => v === true).length; const notOnline = Object.entries(resultData).filter(([, v]) => v !== true).length; const offline = Object.entries(resultData).filter(([, v]) => v === false).length; const unknown = Object.entries(resultData).filter(([, v]) => v === null).length; return ( ); }