📓 Bookmarks (#8976)
* Add button to controls, respace * Hook up shadow and mutation * Add Bookmarks screen * Build out Bookmarks screen * Handle removals via shadow * Use truncateAndInvalidate strategy * Add empty state * Add toasts * Add undo buttons to toasts * Stage NUX, needs image * Finesse post controls * New reply icon * Use curvier variant of repost icon * Prevent layout shift with align_start * Update api pkg * Swap in new image * Limit spacing on desktop * Rm decimals over 10k * Better optimistic adding/removing * Add metrics * Comment * Remove unused code block * Remove debug limit * Fork shadow for web/native * Tweak alt * add preventExpansion: true * Refine hitslop * Add count to anchor * Reduce space in compact mode --------- Co-authored-by: Samuel Newman <mozzius@protonmail.com>
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
import {type I18n} from '@lingui/core'
|
||||
|
||||
/**
|
||||
* 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 formatPostStatCount(
|
||||
i18n: I18n,
|
||||
count: number,
|
||||
{
|
||||
compact = false,
|
||||
}: {
|
||||
compact?: boolean
|
||||
} = {},
|
||||
): string {
|
||||
const isOver10k = count >= 10_000
|
||||
return i18n.number(count, {
|
||||
notation: 'compact',
|
||||
maximumFractionDigits: isOver10k || compact ? 0 : 1,
|
||||
// @ts-expect-error - roundingMode not in the types
|
||||
roundingMode: 'trunc',
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user