From 5823fa95cd719eb69b14bb45d45f917b6cc46183 Mon Sep 17 00:00:00 2001
From: Pitu <heyitspitu@gmail.com>
Date: Thu, 7 Jan 2021 23:02:35 +0900
Subject: feature: Add basic statistics UI

---
 src/site/components/statistics/time.vue | 46 +++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)
 create mode 100644 src/site/components/statistics/time.vue

(limited to 'src/site/components/statistics/time.vue')

diff --git a/src/site/components/statistics/time.vue b/src/site/components/statistics/time.vue
new file mode 100644
index 0000000..ff1bb8d
--- /dev/null
+++ b/src/site/components/statistics/time.vue
@@ -0,0 +1,46 @@
+<template>
+	<div>
+		<div class="columns">
+			<div class="column is-2">
+				{{ title }}
+			</div>
+			<div class="column">
+				{{ parsedTime }}
+			</div>
+		</div>
+	</div>
+</template>
+<script>
+export default {
+	props: {
+		title: {
+			'type': String,
+			'default': null
+		},
+		value: {
+			'type': Number,
+			'default': null
+		}
+	},
+	computed: {
+		parsedTime() {
+			let seconds = this.value;
+			const days = Math.floor(seconds / 86400);
+			seconds %= 86400;
+			let hours = Math.floor(seconds / 3600);
+			seconds %= 3600;
+			let minutes = Math.floor(seconds / 60);
+			seconds %= 60;
+
+			if (hours < 10) hours = `0${hours}`;
+			if (minutes < 10) minutes = `0${minutes}`;
+			if (seconds < 10) seconds = `0${seconds}`;
+
+			if (days > 0) {
+				return `${days}d ${hours}:${minutes}:${seconds}`;
+			}
+			return `${hours}:${minutes}:${seconds}`;
+		}
+	}
+};
+</script>
-- 
cgit v1.2.3

