Files
bsky-social-app/src/components/PostControls/util.ts
T
2026-02-20 18:07:17 +00:00

24 lines
676 B
TypeScript

import {useCallback} from 'react'
import {useLingui} from '@lingui/react'
/**
* This matches `formatCount` from `view/com/util/numeric/format.ts`, but has
* additional truncation logic for large numbers. `roundingMode` should always
* match the original impl, regardless of if we add more formatting here.
*/
export function useFormatPostStatCount() {
const {i18n} = useLingui()
return useCallback(
(postStatCount: number) => {
const isOver10k = postStatCount >= 10_000
return i18n.number(postStatCount, {
notation: 'compact',
maximumFractionDigits: isOver10k ? 0 : 1,
roundingMode: 'trunc',
})
},
[i18n],
)
}