import Block from "components/services/widget/block"; import Container from "components/services/widget/container"; import { useTranslation } from "next-i18next"; import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { t } = useTranslation(); const { widget } = service; const { data: resultData, error: resultError } = useWidgetAPI(widget); if (resultError) { return ; } if (!widget.fields || widget.fields.length === 0) { widget.fields = ["online", "offline", "offline_alt", "total"]; } else if (widget.fields.length > 4) { widget.fields = widget.fields.slice(0, 4); } 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 ( ); }