diff --git a/docs/widgets/services/speedtest-tracker.md b/docs/widgets/services/speedtest-tracker.md index 31ad386b4..c36d25c39 100644 --- a/docs/widgets/services/speedtest-tracker.md +++ b/docs/widgets/services/speedtest-tracker.md @@ -16,5 +16,5 @@ Allowed fields: `["download", "upload", "ping"]`. widget: type: speedtest url: http://speedtest.host.or.ip - bitrateNumOfDecimalPlaces: 3 # default is 2 + bitrateNumOfDecimalPlaces: 3 # default is 0 ``` diff --git a/src/utils/config/service-helpers.js b/src/utils/config/service-helpers.js index 7a07fa4bf..aaee636c9 100644 --- a/src/utils/config/service-helpers.js +++ b/src/utils/config/service-helpers.js @@ -450,6 +450,9 @@ export function cleanServiceGroups(groups) { // proxmox node, + // speedtest + bitratePrecision, + // sonarr, radarr enableQueue, @@ -459,9 +462,6 @@ export function cleanServiceGroups(groups) { // unifi site, - - // speedtest-tracker - bitrateNumOfDecimalPlaces, } = cleanedService.widget; let fieldsList = fields; @@ -592,13 +592,8 @@ export function cleanServiceGroups(groups) { if (uuid !== undefined) cleanedService.widget.uuid = uuid; } if (type === "speedtest") { - if (bitrateNumOfDecimalPlaces !== undefined) { - // if the result can't be parsed, set to -1 - cleanedService.widget.bitrateNumOfDecimalPlaces = Number.parseInt(bitrateNumOfDecimalPlaces, 10); - if (Number.isNaN(cleanedService.widget.bitrateNumOfDecimalPlaces)) { - // negative values fallback to the default - cleanedService.widget.bitrateNumOfDecimalPlaces = -1; - } + if (bitratePrecision !== undefined) { + cleanedService.widget.bitratePrecision = parseInt(bitratePrecision, 10); } } } diff --git a/src/widgets/speedtest/component.jsx b/src/widgets/speedtest/component.jsx index 3965ec7eb..9826f7767 100644 --- a/src/widgets/speedtest/component.jsx +++ b/src/widgets/speedtest/component.jsx @@ -4,8 +4,6 @@ import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; -const DEFAULT_BITRATE_NUM_OF_DECIMAL_PLACES = 2; - export default function Component({ service }) { const { t } = useTranslation(); @@ -13,12 +11,10 @@ export default function Component({ service }) { const { data: speedtestData, error: speedtestError } = useWidgetAPI(widget, "speedtest/latest"); - let bitrateNumOfDecimalPlaces = widget?.bitrateNumOfDecimalPlaces ?? DEFAULT_BITRATE_NUM_OF_DECIMAL_PLACES; // Default is 2 - - // if not a number or negative, set to default - if (bitrateNumOfDecimalPlaces < 0) { - bitrateNumOfDecimalPlaces = DEFAULT_BITRATE_NUM_OF_DECIMAL_PLACES; - } + const bitratePrecision = + !widget?.bitratePrecision || Number.isNaN(widget?.bitratePrecision) || widget?.bitratePrecision < 0 + ? 0 + : widget.bitratePrecision; if (speedtestError) { return ; @@ -40,14 +36,14 @@ export default function Component({ service }) { label="speedtest.download" value={t("common.bitrate", { value: speedtestData.data.download * 1000 * 1000, - decimals: bitrateNumOfDecimalPlaces, + decimals: bitratePrecision, })} />