diff --git a/src/languages/en_US.json b/src/languages/en_US.json index 3df17d634b5..d1c735978ba 100644 --- a/src/languages/en_US.json +++ b/src/languages/en_US.json @@ -1253,7 +1253,7 @@ "share_link": "Share Link", "next_drop": "Next Drop", "your_rank": "Your Rank", - "out_of_x": "Out of %{totalUsers}", + "of_x": "Of %{totalUsers}", "referrals": "Referrals", "streak": "Streak", "longest_yet": "Longest yet", diff --git a/src/screens/points/components/InfoCard.tsx b/src/screens/points/components/InfoCard.tsx index 5cf8da68af5..31a2e913a9c 100644 --- a/src/screens/points/components/InfoCard.tsx +++ b/src/screens/points/components/InfoCard.tsx @@ -1,5 +1,6 @@ import React from 'react'; import { Box, Inline, Stack, Text } from '@/design-system'; +import { TextSize } from '@/design-system/components/Text/Text'; export const InfoCard = ({ // onPress, @@ -13,43 +14,58 @@ export const InfoCard = ({ title: string; subtitle: string; mainText: string; - icon: string; + icon?: string; accentColor: string; -}) => ( - // - - - {/* */} - - {title} - - {/* +}) => { + let mainTextFontSize: TextSize; + if (mainText.length > 10) { + mainTextFontSize = '17pt'; + } else if (mainText.length > 9) { + mainTextFontSize = '20pt'; + } else { + mainTextFontSize = '22pt'; + } + + return ( + // + + + {/* */} + + {title} + + {/* 􀅵 */} - - {mainText} - - - - {icon} - - - {subtitle} - - - - - // -); + + + {mainText} + + + + {icon && ( + + {icon} + + )} + + {subtitle} + + + + + // + ); +}; diff --git a/src/screens/points/content/PointsContent.tsx b/src/screens/points/content/PointsContent.tsx index 4cd654ccb88..9e17f03f1d9 100644 --- a/src/screens/points/content/PointsContent.tsx +++ b/src/screens/points/content/PointsContent.tsx @@ -25,7 +25,7 @@ import MaskedView from '@react-native-masked-view/masked-view'; import BlurredRainbow from '@/assets/blurredRainbow.png'; import Planet from '@/assets/planet.png'; import LinearGradient from 'react-native-linear-gradient'; -import { safeAreaInsetValues } from '@/utils'; +import { deviceUtils, safeAreaInsetValues } from '@/utils'; import { ButtonPressAnimation } from '@/components/animations'; import { getHeaderHeight } from '@/navigation/SwipeNavigator'; import { addressCopiedToastAtom } from '@/recoil/addressCopiedToastAtom'; @@ -33,10 +33,7 @@ import { useRecoilState } from 'recoil'; import * as i18n from '@/languages'; import { usePoints } from '@/resources/points'; import { isNil } from 'lodash'; -import { - abbreviateNumber, - getFormattedTimeQuantity, -} from '@/helpers/utilities'; +import { getFormattedTimeQuantity } from '@/helpers/utilities'; import { address as formatAddress } from '@/utils/abbreviations'; import { delay } from '@/utils/delay'; import { Toast, ToastPositionContainer } from '@/components/toasts'; @@ -244,17 +241,14 @@ export default function PointsContent() { {}} title={i18n.t(i18n.l.points.points.your_rank)} - mainText={`#${ - rank >= 1_000_000 - ? abbreviateNumber(rank, 2) - : rank.toLocaleString('en-US') - }`} - icon="􀉬" - subtitle={i18n.t(i18n.l.points.points.out_of_x, { - totalUsers: - totalUsers >= 1_000_000 - ? abbreviateNumber(totalUsers, 2) - : totalUsers.toLocaleString('en-US'), + mainText={`#${rank.toLocaleString('en-US')}`} + icon={ + totalUsers >= 10_000_000 && deviceUtils.isSmallPhone + ? undefined + : '􀉬' + } + subtitle={i18n.t(i18n.l.points.points.of_x, { + totalUsers: totalUsers.toLocaleString('en-US'), })} accentColor={green} />