apply @shamoon's suggested code revisions

pull/3354/head
Ameer Abdallah 4 weeks ago
parent dfe5b2ac7c
commit bdfb405b3f

@ -16,5 +16,5 @@ Allowed fields: `["download", "upload", "ping"]`.
widget: widget:
type: speedtest type: speedtest
url: http://speedtest.host.or.ip url: http://speedtest.host.or.ip
bitrateNumOfDecimalPlaces: 3 # default is 2 bitrateNumOfDecimalPlaces: 3 # default is 0
``` ```

@ -450,6 +450,9 @@ export function cleanServiceGroups(groups) {
// proxmox // proxmox
node, node,
// speedtest
bitratePrecision,
// sonarr, radarr // sonarr, radarr
enableQueue, enableQueue,
@ -459,9 +462,6 @@ export function cleanServiceGroups(groups) {
// unifi // unifi
site, site,
// speedtest-tracker
bitrateNumOfDecimalPlaces,
} = cleanedService.widget; } = cleanedService.widget;
let fieldsList = fields; let fieldsList = fields;
@ -592,13 +592,8 @@ export function cleanServiceGroups(groups) {
if (uuid !== undefined) cleanedService.widget.uuid = uuid; if (uuid !== undefined) cleanedService.widget.uuid = uuid;
} }
if (type === "speedtest") { if (type === "speedtest") {
if (bitrateNumOfDecimalPlaces !== undefined) { if (bitratePrecision !== undefined) {
// if the result can't be parsed, set to -1 cleanedService.widget.bitratePrecision = parseInt(bitratePrecision, 10);
cleanedService.widget.bitrateNumOfDecimalPlaces = Number.parseInt(bitrateNumOfDecimalPlaces, 10);
if (Number.isNaN(cleanedService.widget.bitrateNumOfDecimalPlaces)) {
// negative values fallback to the default
cleanedService.widget.bitrateNumOfDecimalPlaces = -1;
}
} }
} }
} }

@ -4,8 +4,6 @@ import Container from "components/services/widget/container";
import Block from "components/services/widget/block"; import Block from "components/services/widget/block";
import useWidgetAPI from "utils/proxy/use-widget-api"; import useWidgetAPI from "utils/proxy/use-widget-api";
const DEFAULT_BITRATE_NUM_OF_DECIMAL_PLACES = 2;
export default function Component({ service }) { export default function Component({ service }) {
const { t } = useTranslation(); const { t } = useTranslation();
@ -13,12 +11,10 @@ export default function Component({ service }) {
const { data: speedtestData, error: speedtestError } = useWidgetAPI(widget, "speedtest/latest"); const { data: speedtestData, error: speedtestError } = useWidgetAPI(widget, "speedtest/latest");
let bitrateNumOfDecimalPlaces = widget?.bitrateNumOfDecimalPlaces ?? DEFAULT_BITRATE_NUM_OF_DECIMAL_PLACES; // Default is 2 const bitratePrecision =
!widget?.bitratePrecision || Number.isNaN(widget?.bitratePrecision) || widget?.bitratePrecision < 0
// if not a number or negative, set to default ? 0
if (bitrateNumOfDecimalPlaces < 0) { : widget.bitratePrecision;
bitrateNumOfDecimalPlaces = DEFAULT_BITRATE_NUM_OF_DECIMAL_PLACES;
}
if (speedtestError) { if (speedtestError) {
return <Container service={service} error={speedtestError} />; return <Container service={service} error={speedtestError} />;
@ -40,14 +36,14 @@ export default function Component({ service }) {
label="speedtest.download" label="speedtest.download"
value={t("common.bitrate", { value={t("common.bitrate", {
value: speedtestData.data.download * 1000 * 1000, value: speedtestData.data.download * 1000 * 1000,
decimals: bitrateNumOfDecimalPlaces, decimals: bitratePrecision,
})} })}
/> />
<Block <Block
label="speedtest.upload" label="speedtest.upload"
value={t("common.bitrate", { value={t("common.bitrate", {
value: speedtestData.data.upload * 1000 * 1000, value: speedtestData.data.upload * 1000 * 1000,
decimals: bitrateNumOfDecimalPlaces, decimals: bitratePrecision,
})} })}
/> />
<Block <Block

Loading…
Cancel
Save