temp move
This commit is contained in:
@@ -1,60 +0,0 @@
|
||||
import { round } from '@/utils/math';
|
||||
import { isNil } from 'ramda';
|
||||
|
||||
export function fancyMinutes(time: number) {
|
||||
const minutes = Math.floor(time / 60);
|
||||
const seconds = round(time - minutes * 60, 0);
|
||||
if (minutes === 0) return `${seconds}s`;
|
||||
return `${minutes}m ${seconds}s`;
|
||||
}
|
||||
|
||||
export const formatNumber =
|
||||
(locale: string) => (value: number | null | undefined) => {
|
||||
if (isNil(value)) {
|
||||
return 'N/A';
|
||||
}
|
||||
return new Intl.NumberFormat(locale, {
|
||||
maximumSignificantDigits: 20,
|
||||
}).format(value);
|
||||
};
|
||||
|
||||
export const shortNumber =
|
||||
(locale: string) => (value: number | null | undefined) => {
|
||||
if (isNil(value)) {
|
||||
return 'N/A';
|
||||
}
|
||||
return new Intl.NumberFormat(locale, {
|
||||
notation: 'compact',
|
||||
}).format(value);
|
||||
};
|
||||
|
||||
export function useNumber() {
|
||||
const locale = 'en-gb';
|
||||
const format = formatNumber(locale);
|
||||
const short = shortNumber(locale);
|
||||
return {
|
||||
format,
|
||||
short,
|
||||
shortWithUnit: (value: number | null | undefined, unit?: string | null) => {
|
||||
if (isNil(value)) {
|
||||
return 'N/A';
|
||||
}
|
||||
if (unit === 'min') {
|
||||
return fancyMinutes(value);
|
||||
}
|
||||
return `${short(value)}${unit ? ` ${unit}` : ''}`;
|
||||
},
|
||||
formatWithUnit: (
|
||||
value: number | null | undefined,
|
||||
unit?: string | null
|
||||
) => {
|
||||
if (isNil(value)) {
|
||||
return 'N/A';
|
||||
}
|
||||
if (unit === 'min') {
|
||||
return fancyMinutes(value);
|
||||
}
|
||||
return `${format(value)}${unit ? ` ${unit}` : ''}`;
|
||||
},
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user