import { useTranslation } from "next-i18next"; import Container from "../components/container"; import Block from "../components/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; import ResolvedIcon from "components/resolvedicon"; const statusMap = { running: , paused: , }; const defaultInterval = 1000; export default function Component({ service }) { const { t } = useTranslation(); const { widget } = service; const { chart, refreshInterval = defaultInterval, version = 3 } = widget; const idKey = version === 3 ? "Id" : "id"; const statusKey = version === 3 ? "Status" : "status"; const { data, error } = useWidgetAPI(service.widget, `${version}/containers`, { refreshInterval: Math.max(defaultInterval, refreshInterval), }); if (error) { return ; } if (!data) { return ( - ); } data.splice(chart ? 5 : 1); let headerYPosition = "top-4"; let listYPosition = "bottom-4"; if (chart) { headerYPosition = "-top-6"; listYPosition = "-top-3"; } return ( {t("resources.cpu")} {t("resources.mem")} {data.map((item) => ( {statusMap[item[statusKey]]} {item.name} {item.cpu_percent.toFixed(1)}% {t("common.bytes", { value: item.memory.usage, maximumFractionDigits: 0, })} ))} ); }