WebUI: improve fileSizeIEC function and make it more readable

Fixes #1974

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
This commit is contained in:
Nicola Murino
2025-07-21 18:26:09 +02:00
parent c49d76274d
commit 8ae6e5e486

View File

@@ -76,9 +76,17 @@ explicit grant from the SFTPGo Team (support@sftpgo.com).
return div.innerHTML;
}
function fileSizeIEC(a,b,c,d,e){
return (b=Math,c=b.log,d=1024,e=c(a)/c(d)|0,a/b.pow(d,e)).toFixed(1)
+' '+(e?'KMGTPEZY'[--e]+'iB':'Bytes')
function fileSizeIEC(bytes){
const thresh = 1024;
if (bytes < thresh){
return bytes + ' Bytes';
}
const units = ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];
let i = Math.floor(Math.log(bytes) / Math.log(thresh));
let size = bytes / Math.pow(thresh, i);
return size.toFixed(1) + ' ' + units[i - 1];
}
function humanizeSpeed(a,b,c,d,e){