diff --git a/src/opnsense/www/js/widgets/BaseWidget.js b/src/opnsense/www/js/widgets/BaseWidget.js index 773fa39f2..569a0f9b3 100644 --- a/src/opnsense/www/js/widgets/BaseWidget.js +++ b/src/opnsense/www/js/widgets/BaseWidget.js @@ -239,17 +239,18 @@ export default class BaseWidget { } _formatBytes(value, decimals = 2) { - if (!isNaN(value) && value > 0) { - let fileSizeTypes = ["", "K", "M", "G", "T", "P", "E", "Z", "Y"]; - let ndx = Math.floor(Math.log(value) / Math.log(1000) ); - if (ndx > 0) { - return (value / Math.pow(1000, ndx)).toFixed(2) + ' ' + fileSizeTypes[ndx]; - } else { - return value.toFixed(2); - } - } else { + if (isNaN(value) || value === null || value < 0) { return ""; } + + const fileSizeTypes = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]; + const ndx = Math.floor(Math.log(value) / Math.log(1000)); + + if (ndx === 0) { + return value.toFixed(decimals) + ' ' + fileSizeTypes[0]; + } + + return (value / Math.pow(1000, ndx)).toFixed(decimals) + ' ' + fileSizeTypes[ndx]; } sanitizeSelector(selector) {