From 295c6ea7969bda8136a8948180b56a388a5259ad Mon Sep 17 00:00:00 2001 From: Bobby Driggs <bobbydriggs@gmail.com> Date: Wed, 11 Sep 2024 18:14:49 -0700 Subject: [PATCH] Fix: Technitium widget percentage display (#3984) --------- Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com> --- src/widgets/technitium/component.jsx | 29 ++++++++++++++++++---------- src/widgets/technitium/widget.js | 2 +- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/widgets/technitium/component.jsx b/src/widgets/technitium/component.jsx index 76165763..d510a59d 100644 --- a/src/widgets/technitium/component.jsx +++ b/src/widgets/technitium/component.jsx @@ -53,7 +53,7 @@ export default function Component({ service }) { function toPercent(value, total) { return t("common.percent", { - value: !Number.isNaN(value / total) ? value / total : 0, + value: !Number.isNaN(value / total) ? 100 * (value / total) : 0, maximumFractionDigits: 2, }); } @@ -64,55 +64,64 @@ export default function Component({ service }) { <Block label="technitium.totalNoError" value={`${t("common.number", { value: statsData.totalNoError })} (${toPercent( - statsData.totalNoError / statsData.totalQueries, + statsData.totalNoError, + statsData.totalQueries, )})`} /> <Block label="technitium.totalServerFailure" value={`${t("common.number", { value: statsData.totalServerFailure })} (${toPercent( - statsData.totalServerFailure / statsData.totalQueries, + statsData.totalServerFailure, + statsData.totalQueries, )})`} /> <Block label="technitium.totalNxDomain" value={`${t("common.number", { value: statsData.totalNxDomain })} (${toPercent( - statsData.totalNxDomain / statsData.totalQueries, + statsData.totalNxDomain, + statsData.totalQueries, )})`} /> <Block label="technitium.totalRefused" value={`${t("common.number", { value: statsData.totalRefused })} (${toPercent( - statsData.totalRefused / statsData.totalQueries, + statsData.totalRefused, + statsData.totalQueries, )})`} /> <Block label="technitium.totalAuthoritative" value={`${t("common.number", { value: statsData.totalAuthoritative })} (${toPercent( - statsData.totalAuthoritative / statsData.totalQueries, + statsData.totalAuthoritative, + statsData.totalQueries, )})`} /> <Block label="technitium.totalRecursive" value={`${t("common.number", { value: statsData.totalRecursive })} (${toPercent( - statsData.totalRecursive / statsData.totalQueries, + statsData.totalRecursive, + statsData.totalQueries, )})`} /> <Block label="technitium.totalCached" value={`${t("common.number", { value: statsData.totalCached })} (${toPercent( - statsData.totalCached / statsData.totalQueries, + statsData.totalCached, + statsData.totalQueries, )})`} /> <Block label="technitium.totalBlocked" value={`${t("common.number", { value: statsData.totalBlocked })} (${toPercent( - statsData.totalBlocked / statsData.totalQueries, + statsData.totalBlocked, + statsData.totalQueries, )})`} /> <Block label="technitium.totalDropped" value={`${t("common.number", { value: statsData.totalDropped })} (${toPercent( - statsData.totalDropped / statsData.totalQueries, + statsData.totalDropped, + statsData.totalQueries, )})`} /> <Block label="technitium.totalClients" value={`${t("common.number", { value: statsData.totalClients })}`} /> diff --git a/src/widgets/technitium/widget.js b/src/widgets/technitium/widget.js index fb0d42bd..c3432a67 100644 --- a/src/widgets/technitium/widget.js +++ b/src/widgets/technitium/widget.js @@ -9,7 +9,7 @@ const widget = { endpoint: "dashboard/stats/get", validate: ["response", "status"], params: ["type"], - map: (data) => asJson(data).response.stats, + map: (data) => asJson(data).response?.stats, }, }, };