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,
})}
/>