blob: 7e03e09f15b6c1f8e8f80784b1fb0c5d4f83c6d4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
<script lang="ts">
interface Props {
title: string;
value: number;
precision?: number;
unit?: string;
}
let { title, value, precision = 0, unit = '' }: Props = $props();
function format(value: number) {
if (Number.isNaN(value) || !Number.isFinite(value)) {
return 0;
}
if (Number.isInteger(value)) {
return value;
} else {
return value.toFixed(precision);
}
}
</script>
<div class="flex flex-col">
<h2 class="text-lg font-medium">
{title}
</h2>
<span class="text-base font-medium">
{format(value)}{unit}
</span>
</div>
|