diff --git a/src/widgets/glances/component.jsx b/src/widgets/glances/component.jsx
index 3abef0d4..df916b4b 100644
--- a/src/widgets/glances/component.jsx
+++ b/src/widgets/glances/component.jsx
@@ -6,6 +6,7 @@ import Process from "./metrics/process";
import Disk from "./metrics/disk";
import GPU from "./metrics/gpu";
import Info from "./metrics/info";
+import Fs from "./metrics/fs";
export default function Component({ service }) {
const { widget } = service;
@@ -22,6 +23,10 @@ export default function Component({ service }) {
return ;
}
+ if (widget.metric === "cpu") {
+ return ;
+ }
+
if (widget.metric.match(/^network:/)) {
return ;
}
@@ -38,7 +43,7 @@ export default function Component({ service }) {
return ;
}
- if (widget.metric === "cpu") {
- return ;
+ if (widget.metric.match(/^fs:/)) {
+ return ;
}
}
diff --git a/src/widgets/glances/metrics/fs.jsx b/src/widgets/glances/metrics/fs.jsx
new file mode 100644
index 00000000..68e40b1b
--- /dev/null
+++ b/src/widgets/glances/metrics/fs.jsx
@@ -0,0 +1,69 @@
+import dynamic from "next/dynamic";
+import { useTranslation } from "next-i18next";
+
+import Error from "../components/error";
+import Container from "../components/container";
+import Block from "../components/block";
+
+import useWidgetAPI from "utils/proxy/use-widget-api";
+
+const Chart = dynamic(() => import("../components/chart"), { ssr: false });
+
+export default function Component({ service }) {
+ const { t } = useTranslation();
+ const { widget } = service;
+ const [, fsName] = widget.metric.split(':');
+
+ const { data, error } = useWidgetAPI(widget, 'fs', {
+ refreshInterval: 1000,
+ });
+
+ if (error) {
+ return ;
+ }
+
+ if (!data) {
+ return -;
+ }
+
+ const fsData = data.find((item) => item[item.key] === fsName);
+
+ if (!fsData) {
+ return -;
+ }
+
+ return (
+
+
+
+
+ {t("common.bbytes", {
+ value: fsData.used,
+ maximumFractionDigits: 0,
+ })} {t("resources.used")}
+
+
+ {t("common.bbytes", {
+ value: fsData.free,
+ maximumFractionDigits: 0,
+ })} {t("resources.free")}
+
+
+
+
+
+ {t("common.bbytes", {
+ value: fsData.size,
+ maximumFractionDigits: 1,
+ })}
+
+
+
+ );
+}
diff --git a/src/widgets/glances/metrics/info.jsx b/src/widgets/glances/metrics/info.jsx
index 104130ee..0f82a5af 100644
--- a/src/widgets/glances/metrics/info.jsx
+++ b/src/widgets/glances/metrics/info.jsx
@@ -96,7 +96,7 @@ export default function Component({ service }) {
)}
- {quicklookData && quicklookData.swap && (
+ {quicklookData && quicklookData.swap !== 0 && (