Add max count to sidebar icons
This commit is contained in:
@ -27,6 +27,11 @@ describe('shortNumberFormat', () => {
|
||||
expect(screen.getByTestId('num')).toHaveTextContent('•');
|
||||
});
|
||||
|
||||
test('handles max argument', () => {
|
||||
render(<div data-testid='num'>{shortNumberFormat(25, 20)}</div>, undefined, null);
|
||||
expect(screen.getByTestId('num')).toHaveTextContent('20+');
|
||||
});
|
||||
|
||||
test('formats numbers under 1,000', () => {
|
||||
render(<div data-testid='num'>{shortNumberFormat(555)}</div>, undefined, null);
|
||||
expect(screen.getByTestId('num')).toHaveTextContent('555');
|
||||
|
||||
@ -16,7 +16,7 @@ const roundDown = (num: number) => {
|
||||
};
|
||||
|
||||
/** Display a number nicely for the UI, eg 1000 becomes 1K. */
|
||||
export const shortNumberFormat = (number: any): React.ReactNode => {
|
||||
export const shortNumberFormat = (number: any, max?: number): React.ReactNode => {
|
||||
if (!isNumber(number)) return '•';
|
||||
|
||||
let value = number;
|
||||
@ -29,6 +29,10 @@ export const shortNumberFormat = (number: any): React.ReactNode => {
|
||||
value = roundDown(value / 1000000);
|
||||
}
|
||||
|
||||
if (max && value > max) {
|
||||
return <span>{max}+</span>;
|
||||
}
|
||||
|
||||
return (
|
||||
<span>
|
||||
<FormattedNumber
|
||||
|
||||
Reference in New Issue
Block a user