summaryrefslogtreecommitdiffstatshomepage
path: root/frontend/src/lib/statistics/Stat.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/lib/statistics/Stat.svelte')
-rw-r--r--frontend/src/lib/statistics/Stat.svelte27
1 files changed, 27 insertions, 0 deletions
diff --git a/frontend/src/lib/statistics/Stat.svelte b/frontend/src/lib/statistics/Stat.svelte
new file mode 100644
index 0000000..c657526
--- /dev/null
+++ b/frontend/src/lib/statistics/Stat.svelte
@@ -0,0 +1,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>