diff options
| author | MeiMei <30769358+mei23@users.noreply.github.com> | 2018-12-16 07:06:43 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2018-12-16 07:06:43 +0900 |
| commit | 2faa58928fb4fc772002aa40df0fbddee3d3457b (patch) | |
| tree | 5cfcd826f2b2f208e90032ea9657797da6879583 /src | |
| parent | Return 404 for invalid Object ID (#3627) (diff) | |
| download | sharkey-2faa58928fb4fc772002aa40df0fbddee3d3457b.tar.gz sharkey-2faa58928fb4fc772002aa40df0fbddee3d3457b.tar.bz2 sharkey-2faa58928fb4fc772002aa40df0fbddee3d3457b.zip | |
Format uptimes (#3629)
* Format uptime
* 逆だわ
* ザ
* 1個多い
* Fix comment
Diffstat (limited to 'src')
| -rw-r--r-- | src/client/app/common/scripts/format-uptime.ts | 25 | ||||
| -rw-r--r-- | src/client/app/common/views/widgets/server.uptimes.vue | 9 |
2 files changed, 30 insertions, 4 deletions
diff --git a/src/client/app/common/scripts/format-uptime.ts b/src/client/app/common/scripts/format-uptime.ts new file mode 100644 index 0000000000..6a2718f640 --- /dev/null +++ b/src/client/app/common/scripts/format-uptime.ts @@ -0,0 +1,25 @@ + +/** + * Format like the uptime command + */ +export default function(sec) { + if (!sec) return sec; + + const day = Math.floor(sec / 86400); + const tod = sec % 86400; + + // Days part in string: 2 days, 1 day, null + const d = day >= 2 ? `${day} days` : day >= 1 ? `${day} day` : null; + + // Time part in string: 1 sec, 1 min, 1:01 + const t + = tod < 60 ? `${Math.floor(tod)} sec` + : tod < 3600 ? `${Math.floor(tod / 60)} min` + : `${Math.floor(tod / 60 / 60)}:${Math.floor((tod / 60) % 60).toString().padStart(2, "0")}`; + + let str = ''; + if (d) str += `${d}, `; + str += t; + + return str; +} diff --git a/src/client/app/common/views/widgets/server.uptimes.vue b/src/client/app/common/views/widgets/server.uptimes.vue index 06713d83ce..56d0398e3a 100644 --- a/src/client/app/common/views/widgets/server.uptimes.vue +++ b/src/client/app/common/views/widgets/server.uptimes.vue @@ -1,13 +1,14 @@ <template> <div class="uptimes"> <p>Uptimes</p> - <p>Process: {{ process ? process.toFixed(0) : '---' }}s</p> - <p>OS: {{ os ? os.toFixed(0) : '---' }}s</p> + <p>Process: {{ process }}</p> + <p>OS: {{ os }}</p> </div> </template> <script lang="ts"> import Vue from 'vue'; +import formatUptime from '../../scripts/format-uptime'; export default Vue.extend({ props: ['connection'], @@ -25,8 +26,8 @@ export default Vue.extend({ }, methods: { onStats(stats) { - this.process = stats.process_uptime; - this.os = stats.os_uptime; + this.process = formatUptime(stats.process_uptime); + this.os = formatUptime(stats.os_uptime); } } }); |