Synology widget : renaming widget to diskstation

This commit is contained in:
Benoit 2023-01-12 13:32:43 +01:00
parent 0b152b0e20
commit 2f9861b64d
7 changed files with 47 additions and 59 deletions

View File

@ -413,22 +413,12 @@
"wanUpload": "WAN Upload", "wanUpload": "WAN Upload",
"wanDownload": "WAN Download" "wanDownload": "WAN Download"
}, },
"synology": { "diskstation": {
"uptime": "Uptime", "uptime": "Uptime",
"volumeUsage": "Volume Usage", "volumeUsage": "Volume Usage",
"cpuLoad": "CPU Load", "cpuLoad": "CPU Load",
"memoryUsage": "Memory Usage", "memoryUsage": "Memory Usage",
"status": "Status", "status": "Status",
"volumeTotal": "Total space" "volumeTotal": "Total space"
},
"opnsense": {
"cpu": "CPU Load",
"memory": "Memory Used",
"uptime": "Uptime",
"wanUpload": "WAN Upload",
"wanDownload": "WAN Download",
"wanUploadRate": "WAN Upload Rate",
"wanDownloadRate": "WAN Download Rate"
} }
} }

View File

@ -47,7 +47,7 @@ const components = {
sonarr: dynamic(() => import("./sonarr/component")), sonarr: dynamic(() => import("./sonarr/component")),
speedtest: dynamic(() => import("./speedtest/component")), speedtest: dynamic(() => import("./speedtest/component")),
strelaysrv: dynamic(() => import("./strelaysrv/component")), strelaysrv: dynamic(() => import("./strelaysrv/component")),
synology: dynamic(() => import("./synology/component")), diskstation: dynamic(() => import("./diskstation/component")),
tautulli: dynamic(() => import("./tautulli/component")), tautulli: dynamic(() => import("./tautulli/component")),
tdarr: dynamic(() => import("./tdarr/component")), tdarr: dynamic(() => import("./tdarr/component")),
traefik: dynamic(() => import("./traefik/component")), traefik: dynamic(() => import("./traefik/component")),

View File

@ -0,0 +1,40 @@
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 Component({ service }) {
const { t } = useTranslation();
const { widget } = service;
const { data: dsData, error: dsError } = useWidgetAPI(widget);
if (dsError) {
return <Container error={ dsError } />;
}
if (!dsData) {
return (
<Container service={service}>
<Block label="diskstation.uptime" />
<Block label="diskstation.volumeUsage" />
<Block label="diskstation.volumeTotal" />
<Block label="diskstation.cpuLoad" />
<Block label="diskstation.memoryUsage" />
</Container>
);
}
return (
<Container service={service}>
<Block label="diskstation.uptime" value={ dsData.uptime } />
<Block label="diskstation.volumeUsage" value={t("common.percent", { value: dsData.usedVolume })} />
<Block label="diskstation.volumeTotal" value={t("common.bytes", { value: dsData.totalSize })} />
<Block label="diskstation.cpuLoad" value={t("common.percent", { value: dsData.cpuLoad })} />
<Block label="diskstation.memoryUsage" value={t("common.percent", { value: dsData.memoryUsage })} />
</Container>
);
}

View File

@ -106,13 +106,12 @@ export default async function synologyProxyHandler(req, res) {
const memoryUsage = 100 - (100 * (parseFloat(JSON.parse(data.toString()).data.memory.avail_real) + parseFloat(JSON.parse(data.toString()).data.memory.cached)) / parseFloat(JSON.parse(data.toString()).data.memory.total_real)); const memoryUsage = 100 - (100 * (parseFloat(JSON.parse(data.toString()).data.memory.avail_real) + parseFloat(JSON.parse(data.toString()).data.memory.cached)) / parseFloat(JSON.parse(data.toString()).data.memory.total_real));
const cpuLoad = parseFloat(JSON.parse(data.toString()).data.cpu.user_load) + parseFloat(JSON.parse(data.toString()).data.cpu.system_load); const cpuLoad = parseFloat(JSON.parse(data.toString()).data.cpu.user_load) + parseFloat(JSON.parse(data.toString()).data.cpu.system_load);
const resdata = { if (contentType) res.setHeader("Content-Type", contentType);
return res.status(status).send(JSON.stringify({
uptime, uptime,
usedVolume, usedVolume,
totalSize, totalSize,
memoryUsage, memoryUsage,
cpuLoad, cpuLoad,
} }));
if (contentType) res.setHeader("Content-Type", contentType);
return res.status(status).send(JSON.stringify(resdata));
} }

View File

@ -1,40 +0,0 @@
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 Component({ service }) {
const { t } = useTranslation();
const { widget } = service;
const { data: dsData, error: dsError } = useWidgetAPI(widget);
if (dsError) {
return <Container error={ dsError } />;
}
if (!dsData) {
return (
<Container service={service}>
<Block label="synology.uptime" />
<Block label="synology.volumeUsage" />
<Block label="synology.volumeTotal" />
<Block label="synology.cpuLoad" />
<Block label="synology.memoryUsage" />
</Container>
);
}
return (
<Container service={service}>
<Block label="synology.uptime" value={ dsData.uptime } />
<Block label="synology.volumeUsage" value={t("common.percent", { value: dsData.usedVolume })} />
<Block label="synology.volumeTotal" value={t("common.bytes", { value: dsData.totalSize })} />
<Block label="synology.cpuLoad" value={t("common.percent", { value: dsData.cpuLoad })} />
<Block label="synology.memoryUsage" value={t("common.percent", { value: dsData.memoryUsage })} />
</Container>
);
}

View File

@ -42,7 +42,7 @@ import scrutiny from "./scrutiny/widget";
import sonarr from "./sonarr/widget"; import sonarr from "./sonarr/widget";
import speedtest from "./speedtest/widget"; import speedtest from "./speedtest/widget";
import strelaysrv from "./strelaysrv/widget"; import strelaysrv from "./strelaysrv/widget";
import synology from "./synology/widget"; import diskstation from "./diskstation/widget";
import tautulli from "./tautulli/widget"; import tautulli from "./tautulli/widget";
import tdarr from "./tdarr/widget"; import tdarr from "./tdarr/widget";
import traefik from "./traefik/widget"; import traefik from "./traefik/widget";
@ -61,7 +61,7 @@ const widgets = {
changedetectionio, changedetectionio,
coinmarketcap, coinmarketcap,
deluge, deluge,
diskstation: downloadstation, diskstation,
downloadstation, downloadstation,
emby, emby,
flood, flood,
@ -100,7 +100,6 @@ const widgets = {
sonarr, sonarr,
speedtest, speedtest,
strelaysrv, strelaysrv,
synology,
tautulli, tautulli,
tdarr, tdarr,
traefik, traefik,