import { useTranslation } from "next-i18next"; import determineStatuses from "./stats-helper"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; function determineFields(widget){ // don't include diskUsage by default, since it requires a second API call if (!widget.fields) return [true, true, true, false] return [ widget.fields?.includes('ok'), widget.fields?.includes('errored'), widget.fields?.includes('noRecent'), widget.fields?.includes('totalUsed') ]; } export default function Component({ service }) { const { t } = useTranslation(); const { widget } = service; const { data: urbackupData, error: urbackupError } = useWidgetAPI(widget, "status"); const [showOk, showErrored, showNoRecent, showDiskUsage] = determineFields(widget); if (urbackupError) { return ; } if (!urbackupData) { return ( ); } const statusData = determineStatuses(urbackupData, widget); return ( {showOk && } {showErrored && } {showNoRecent && } {showDiskUsage && } ); }