From 71b1faef1294b21698350fceaf89017f4411bbb3 Mon Sep 17 00:00:00 2001 From: Vansmak Date: Mon, 15 May 2023 13:44:30 -0700 Subject: [PATCH] added swizzin and glances service widgets swizzin is a seedbox and made a service widget version for glances --- src/widgets/glances/component.jsx | 50 +++++++++++++++++++++++++++++++ src/widgets/glances/widget.js | 24 +++++++++++++++ src/widgets/swizzin/component.jsx | 36 ++++++++++++++++++++++ src/widgets/swizzin/widget.js | 24 +++++++++++++++ 4 files changed, 134 insertions(+) create mode 100644 src/widgets/glances/component.jsx create mode 100644 src/widgets/glances/widget.js create mode 100644 src/widgets/swizzin/component.jsx create mode 100644 src/widgets/swizzin/widget.js diff --git a/src/widgets/glances/component.jsx b/src/widgets/glances/component.jsx new file mode 100644 index 00000000..017a0616 --- /dev/null +++ b/src/widgets/glances/component.jsx @@ -0,0 +1,50 @@ +import { useTranslation } from "next-i18next"; + +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +function convertToFahrenheit(t) { + return t * 9/5 + 32; +} + +export default function GlancesStats({ service }) { + const { t } = useTranslation(); + + const { widget } = service; + + const { data: memData, error: memError } = useWidgetAPI(widget, "mem"); + const { data: tempData, error: tempError } = useWidgetAPI(widget, "temp"); + + if (memError || tempError) { + return ; + } + + if (!memData || !tempData) { + return ( + + + + + ); + } + + const unit = "celsius"; + const memPercent = Math.round((memData.used / memData.total) * 100); + const tempValue = tempData[0].value; + + return ( + + + + + ); +} diff --git a/src/widgets/glances/widget.js b/src/widgets/glances/widget.js new file mode 100644 index 00000000..d9b9313f --- /dev/null +++ b/src/widgets/glances/widget.js @@ -0,0 +1,24 @@ +import genericProxyHandler from "utils/proxy/handlers/generic"; + +const widget = { + api: "{url}/api/3/{endpoint}", + proxyHandler: genericProxyHandler, + + mappings: { + mem: { + endpoint: "mem", + }, + temp: { + endpoint: "sensors", + }, + }, +}; + +export default widget; + + + + + + + diff --git a/src/widgets/swizzin/component.jsx b/src/widgets/swizzin/component.jsx new file mode 100644 index 00000000..1c64c706 --- /dev/null +++ b/src/widgets/swizzin/component.jsx @@ -0,0 +1,36 @@ +import { useTranslation } from "next-i18next"; + +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function SwizzinStats({ service }) { + // eslint-disable-next-line no-unused-vars + const { t } = useTranslation(); + + const { widget } = service; + + const { data: ramData, error: ramError } = useWidgetAPI(widget, "ram"); + const { data: diskData, error: diskError } = useWidgetAPI(widget, "disk"); + + if (ramError || diskError) { + return ; + } + + if (!ramData || !diskData) { + return ( + + + + + ); + } + + return ( + + + + + ); +} + diff --git a/src/widgets/swizzin/widget.js b/src/widgets/swizzin/widget.js new file mode 100644 index 00000000..9e24de57 --- /dev/null +++ b/src/widgets/swizzin/widget.js @@ -0,0 +1,24 @@ +import genericProxyHandler from "utils/proxy/handlers/generic"; + +const widget = { + api: "{url}/stats/{endpoint}", + proxyHandler: genericProxyHandler, + + mappings: { + ram: { + endpoint: "ram", + }, + disk: { + endpoint: "disk", + }, + }, +}; + +export default widget; + + + + + + +