From fae173f33bc7eeeb70179dff0679b05bacd2cc07 Mon Sep 17 00:00:00 2001 From: acheronfail Date: Sat, 28 Sep 2024 21:35:53 +1000 Subject: [PATCH] patch: format floats in chart min/max --- src/components/Chart.svelte | 6 +++--- src/components/Details.svelte | 3 +-- src/lib/misc.ts | 2 ++ 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/components/Chart.svelte b/src/components/Chart.svelte index 93d6cef..dbe1919 100644 --- a/src/components/Chart.svelte +++ b/src/components/Chart.svelte @@ -9,7 +9,7 @@ import { ticks, type TickOptions } from '../lib/chart-helpers'; import type { MouseEventHandler, TouchEventHandler } from 'svelte/elements'; - import { assert } from '../lib/misc'; + import { assert, formatFloat } from '../lib/misc'; import { untrack } from 'svelte'; const DEFAULT_COLOUR = 'red'; @@ -352,7 +352,7 @@ {/if} {#if minShown}
- min: {min}{unit} + min: {formatFloat(min)}{unit}
{/if} {#if maxShown && minShown} @@ -360,7 +360,7 @@ {/if} {#if maxShown}
- max: {max}{unit} + max: {formatFloat(max)}{unit}
{/if} {/if} diff --git a/src/components/Details.svelte b/src/components/Details.svelte index e6e7dec..b4d58a8 100644 --- a/src/components/Details.svelte +++ b/src/components/Details.svelte @@ -18,6 +18,7 @@ import Button from './Button.svelte'; import { ChartColours } from '../lib/chart-helpers'; import { empty, State } from '../lib/parse/types'; + import { formatFloat } from '../lib/misc'; let { data = empty, batterySpecs, mapSpeed, units }: Props = $props(); @@ -25,8 +26,6 @@ let cellVoltsLow = $derived(voltsPerCell && batterySpecs.cellMinVolt && voltsPerCell < batterySpecs.cellMinVolt); let formatSpeed = $derived((x: number) => (Number.isNaN(x) ? '??' : mapSpeed(x).toFixed(1))); - const formatFloat = (n: number) => (Number.isNaN(n) ? '??' : n.toFixed(1)); - const getStateColor = (state: string): string | undefined => { switch (state.toLowerCase()) { case 'riding': diff --git a/src/lib/misc.ts b/src/lib/misc.ts index 38002bb..1aa88b5 100644 --- a/src/lib/misc.ts +++ b/src/lib/misc.ts @@ -20,3 +20,5 @@ export const speedMapper = (inUnit: Units, outUnit: Units): ((input: number) => if (outUnit === Units.Imperial) return kmToMi; return miToKm; }; + +export const formatFloat = (n: number) => (Number.isNaN(n) ? '??' : n.toFixed(1));