11import { type ReactNode } from "react" ;
2- import { AnimatedNumber } from "../primitives/AnimatedNumber" ;
3- import { Spinner } from "../primitives/Spinner" ;
4- import { SimpleTooltip } from "../primitives/Tooltip" ;
52import { cn } from "~/utils/cn" ;
63import { formatNumber , formatNumberCompact } from "~/utils/numberFormatter" ;
74import { Header3 } from "../primitives/Headers" ;
5+ import { Spinner } from "../primitives/Spinner" ;
6+ import { SimpleTooltip } from "../primitives/Tooltip" ;
7+ import { AnimatedNumber } from "../primitives/AnimatedNumber" ;
88
99interface BigNumberProps {
1010 title : ReactNode ;
@@ -29,15 +29,12 @@ export function BigNumber({
2929 accessory,
3030 animate = false ,
3131 loading = false ,
32- compactThreshold = 100000 ,
32+ compactThreshold,
3333} : BigNumberProps ) {
3434 const v = value ?? defaultValue ;
3535
36- const formatValue = ( num : number ) => {
37- return num >= compactThreshold ? formatNumberCompact ( num ) : formatNumber ( num ) ;
38- } ;
39-
40- const shouldCompact = v !== undefined && v >= compactThreshold ;
36+ const shouldCompact =
37+ typeof compactThreshold === "number" && v !== undefined && v >= compactThreshold ;
4138
4239 return (
4340 < div className = "flex flex-col justify-between gap-4 rounded-sm border border-grid-dimmed bg-background-bright p-4" >
@@ -57,13 +54,13 @@ export function BigNumber({
5754 < div className = "flex flex-wrap items-baseline gap-2" >
5855 { shouldCompact ? (
5956 < SimpleTooltip
60- button = { animate ? < AnimatedNumber value = { v } /> : formatValue ( v ) }
57+ button = { animate ? < AnimatedNumber value = { v } /> : formatNumberCompact ( v ) }
6158 content = { formatNumber ( v ) }
6259 />
6360 ) : animate ? (
6461 < AnimatedNumber value = { v } />
6562 ) : (
66- formatValue ( v )
63+ formatNumber ( v )
6764 ) }
6865 { suffix && < div className = { cn ( "text-xs" , suffixClassName ) } > { suffix } </ div > }
6966 </ div >
0 commit comments