mirror of
https://github.com/Litlyx/litlyx
synced 2025-12-11 16:28:37 +01:00
new selfhosted version
This commit is contained in:
34
dashboard/utils/numberFormatter.ts
Normal file
34
dashboard/utils/numberFormatter.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
export function prettyNumber000(value: number | string) {
|
||||
return Math.floor(parseInt(value.toString())).toLocaleString('en-EN').replace(/,/g, '.');
|
||||
}
|
||||
|
||||
export function formatNumberK(value: string | number, decimals: number = 1) {
|
||||
const num = parseInt(value.toString());
|
||||
|
||||
if (num > 1_000_000) return (num / 1_000_000).toFixed(decimals) + ' M';
|
||||
if (num > 1_000) return (num / 1_000).toFixed(decimals) + ' K';
|
||||
|
||||
return isNaN(num) ? '0' : num.toFixed();
|
||||
|
||||
}
|
||||
|
||||
export function formatTime(ms: number, includeNotUsedHours: boolean = true): string {
|
||||
const totalSeconds = Math.floor(ms / 1000);
|
||||
const hours = Math.floor(totalSeconds / 3600);
|
||||
const minutes = Math.floor((totalSeconds % 3600) / 60);
|
||||
const seconds = totalSeconds % 60;
|
||||
|
||||
const pad = (num: number) => num.toString().padStart(2, '0');
|
||||
if (includeNotUsedHours === false && hours == 0) {
|
||||
return `${pad(minutes)}m ${pad(seconds)}s`;
|
||||
} else {
|
||||
return `${pad(hours)}h ${pad(minutes)}m ${pad(seconds)}s`;
|
||||
}
|
||||
}
|
||||
|
||||
export function formatBytes(bytes: number, decimals: number = 2) {
|
||||
if (bytes > 1024 * 1024 * 1024) return (bytes / (1024 * 1024 * 1024)).toFixed(decimals) + ' GB';
|
||||
if (bytes > 1024 * 1024) return (bytes / (1024 * 1024)).toFixed(decimals) + ' MB';
|
||||
if (bytes > 1024) return (bytes / 1024).toFixed(decimals) + ' KB';
|
||||
return bytes.toFixed(decimals) + ' B'
|
||||
}
|
||||
Reference in New Issue
Block a user