about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSamuel Newman <mozzius@protonmail.com>2025-09-05 17:29:10 +0300
committerGitHub <noreply@github.com>2025-09-05 09:29:10 -0500
commit0c4b9080207b0ca35a85ffa1e4f6a67189314ac8 (patch)
tree959570602fda6123478665f0356721914781786b
parent457cd3d0fb4074401eb4df12a5d27fd7cc1387cc (diff)
downloadvoidsky-0c4b9080207b0ca35a85ffa1e4f6a67189314ac8.tar.zst
Simplify post number formatting (#8978)
* revert number formatting change

* use formatPostStatCount in repost web
-rw-r--r--src/components/PostControls/RepostButton.web.tsx9
-rw-r--r--src/components/PostControls/util.ts26
2 files changed, 6 insertions, 29 deletions
diff --git a/src/components/PostControls/RepostButton.web.tsx b/src/components/PostControls/RepostButton.web.tsx
index e8e02d2c0..8a2a61fef 100644
--- a/src/components/PostControls/RepostButton.web.tsx
+++ b/src/components/PostControls/RepostButton.web.tsx
@@ -4,7 +4,6 @@ import {useLingui} from '@lingui/react'
 import {useRequireAuth} from '#/state/session'
 import {useSession} from '#/state/session'
 import {EventStopper} from '#/view/com/util/EventStopper'
-import {formatCount} from '#/view/com/util/numeric/format'
 import {useTheme} from '#/alf'
 import {CloseQuote_Stroke2_Corner1_Rounded as Quote} from '#/components/icons/Quote'
 import {Repost_Stroke2_Corner2_Rounded as Repost} from '#/components/icons/Repost'
@@ -14,6 +13,7 @@ import {
   PostControlButtonIcon,
   PostControlButtonText,
 } from './PostControlButton'
+import {useFormatPostStatCount} from './util'
 
 interface Props {
   isReposted: boolean
@@ -33,9 +33,10 @@ export const RepostButton = ({
   embeddingDisabled,
 }: Props) => {
   const t = useTheme()
-  const {_, i18n} = useLingui()
+  const {_} = useLingui()
   const {hasSession} = useSession()
   const requireAuth = useRequireAuth()
+  const formatPostStatCount = useFormatPostStatCount()
 
   return hasSession ? (
     <EventStopper onKeyDown={false}>
@@ -53,7 +54,7 @@ export const RepostButton = ({
                 <PostControlButtonIcon icon={Repost} />
                 {typeof repostCount !== 'undefined' && repostCount > 0 && (
                   <PostControlButtonText testID="repostCount">
-                    {formatCount(i18n, repostCount)}
+                    {formatPostStatCount(repostCount)}
                   </PostControlButtonText>
                 )}
               </PostControlButton>
@@ -105,7 +106,7 @@ export const RepostButton = ({
       <PostControlButtonIcon icon={Repost} />
       {typeof repostCount !== 'undefined' && repostCount > 0 && (
         <PostControlButtonText testID="repostCount">
-          {formatCount(i18n, repostCount)}
+          {formatPostStatCount(repostCount)}
         </PostControlButtonText>
       )}
     </PostControlButton>
diff --git a/src/components/PostControls/util.ts b/src/components/PostControls/util.ts
index b8050a85a..c220cea39 100644
--- a/src/components/PostControls/util.ts
+++ b/src/components/PostControls/util.ts
@@ -1,5 +1,4 @@
 import {useCallback} from 'react'
-import {msg} from '@lingui/macro'
 import {useLingui} from '@lingui/react'
 
 /**
@@ -12,36 +11,13 @@ export function useFormatPostStatCount() {
 
   return useCallback(
     (postStatCount: number) => {
-      const isOver1k = postStatCount >= 1_000
       const isOver10k = postStatCount >= 10_000
-      const isOver1M = postStatCount >= 1_000_000
-      const formatted = i18n.number(postStatCount, {
+      return i18n.number(postStatCount, {
         notation: 'compact',
         maximumFractionDigits: isOver10k ? 0 : 1,
         // @ts-expect-error - roundingMode not in the types
         roundingMode: 'trunc',
       })
-      const count = formatted.replace(/\D+$/g, '')
-
-      if (isOver1M) {
-        return i18n._(
-          msg({
-            message: `${count}M`,
-            comment:
-              'For post statistics. Indicates a number in the millions. Please use the shortest format appropriate for your language.',
-          }),
-        )
-      } else if (isOver1k) {
-        return i18n._(
-          msg({
-            message: `${count}K`,
-            comment:
-              'For post statistics. Indicates a number in the thousands. Please use the shortest format appropriate for your language.',
-          }),
-        )
-      } else {
-        return count
-      }
     },
     [i18n],
   )