From 22c5538823a56fbf0affa7a221accc9113de6cf5 Mon Sep 17 00:00:00 2001 From: MytsV Date: Sun, 15 Sep 2024 12:47:27 +0300 Subject: [PATCH] Fix the display of 0 seconds remaining lifetime --- .../features/utils/text-formatters.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/component-library/features/utils/text-formatters.ts b/src/component-library/features/utils/text-formatters.ts index 995342759..2fd78625b 100644 --- a/src/component-library/features/utils/text-formatters.ts +++ b/src/component-library/features/utils/text-formatters.ts @@ -1,7 +1,9 @@ +const DEFAULT_VALUE = 'NaN'; + export const formatDate = (isoString: string): string => { const date = new Date(isoString); if (isNaN(date.getTime())) { - return 'NaN'; + return DEFAULT_VALUE; } // TODO: use locale from some context return date.toLocaleDateString('en-UK', { @@ -12,7 +14,7 @@ export const formatDate = (isoString: string): string => { }; export const formatFileSize = (bytes: number): string => { - if (isNaN(bytes) || bytes < 0) return 'NaN'; + if (isNaN(bytes) || bytes < 0) return DEFAULT_VALUE; if (bytes === 0) return '0 Bytes'; const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; const i = Math.floor(Math.log(bytes) / Math.log(1024)); @@ -31,7 +33,9 @@ export const formatSeconds = (seconds: number): string => { return `${hours} hour${hours > 1 ? 's' : ''}`; } else if (minutes > 0) { return `${minutes} minute${minutes > 1 ? 's' : ''}`; - } else { + } else if (seconds > 0) { return `${remainingSeconds} second${remainingSeconds > 1 ? 's' : ''}`; + } else { + return DEFAULT_VALUE; } }