From 1b036c3b4cdb84790937bc087dc274a023fbc93d Mon Sep 17 00:00:00 2001 From: Emile Nijssen Date: Mon, 29 Nov 2021 18:03:39 +0100 Subject: [PATCH] Add total Download/Upload in title --- src/www/index.html | 4 ++-- src/www/js/app.js | 36 +++++++++++++++++++----------------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/src/www/index.html b/src/www/index.html index 6db84e1..d4d6521 100644 --- a/src/www/index.html +++ b/src/www/index.html @@ -154,7 +154,7 @@ - + · @@ -166,7 +166,7 @@ - + · diff --git a/src/www/js/app.js b/src/www/js/app.js index 095115f..df65975 100644 --- a/src/www/js/app.js +++ b/src/www/js/app.js @@ -227,26 +227,10 @@ new Vue({ }, }, filters: { + bytes, timeago: value => { return timeago().format(value); }, - bytes: (bytes, decimals, kib, maxunit) => { - kib = kib || false; - if (bytes === 0) return '0 B'; - if (Number.isNaN(parseFloat(bytes)) && !Number.isFinite(bytes)) return 'NaN'; - const k = kib ? 1024 : 1000; - const dm = decimals != null && !Number.isNaN(decimals) && decimals >= 0 ? decimals : 2; - const sizes = kib - ? ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB', 'BiB'] - : ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB', 'BB']; - let i = Math.floor(Math.log(bytes) / Math.log(k)); - if (maxunit !== undefined) { - const index = sizes.indexOf(maxunit); - if (index !== -1) i = index; - } - // eslint-disable-next-line no-restricted-properties - return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`; - }, }, mounted() { this.api = new API(); @@ -292,3 +276,21 @@ new Vue({ }).catch(console.error); }, }); + +function bytes(bytes, decimals, kib, maxunit) { + kib = kib || false; + if (bytes === 0) return '0 B'; + if (Number.isNaN(parseFloat(bytes)) && !Number.isFinite(bytes)) return 'NaN'; + const k = kib ? 1024 : 1000; + const dm = decimals != null && !Number.isNaN(decimals) && decimals >= 0 ? decimals : 2; + const sizes = kib + ? ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB', 'BiB'] + : ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB', 'BB']; + let i = Math.floor(Math.log(bytes) / Math.log(k)); + if (maxunit !== undefined) { + const index = sizes.indexOf(maxunit); + if (index !== -1) i = index; + } + // eslint-disable-next-line no-restricted-properties + return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`; +}