summaryrefslogtreecommitdiffstatshomepage
path: root/frontend/src/lib/statistics/Stat.svelte
blob: c657526984bdb6451bf285b0ff5a636107694d39 (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
<script lang="ts">
	export let title: string;
	export let value: number;
	export let precision = 0;
	export let unit = '';

	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>