diff --git a/src/components/Balance.tsx b/src/components/Balance.tsx index e92d25a83e13..990cdb0b9e2f 100644 --- a/src/components/Balance.tsx +++ b/src/components/Balance.tsx @@ -1,7 +1,8 @@ import React from 'react'; import type {StyleProp, TextStyle} from 'react-native'; +import {useCurrencyListActions} from '@hooks/useCurrencyList'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as CurrencyUtils from '@libs/CurrencyUtils'; +import CONST from '@src/CONST'; import Text from './Text'; type BalanceProps = { @@ -10,8 +11,9 @@ type BalanceProps = { }; function Balance({textStyles, balance}: BalanceProps) { + const {convertToDisplayString} = useCurrencyListActions(); const styles = useThemeStyles(); - const formattedBalance = CurrencyUtils.convertToDisplayString(balance); + const formattedBalance = convertToDisplayString(balance, CONST.CURRENCY.USD); return {formattedBalance}; } diff --git a/src/components/MoneyRequestReportView/MoneyRequestReportGroupHeader.tsx b/src/components/MoneyRequestReportView/MoneyRequestReportGroupHeader.tsx index 5d561637bcfe..98dd74154f70 100644 --- a/src/components/MoneyRequestReportView/MoneyRequestReportGroupHeader.tsx +++ b/src/components/MoneyRequestReportView/MoneyRequestReportGroupHeader.tsx @@ -3,10 +3,10 @@ import {View} from 'react-native'; import Checkbox from '@components/Checkbox'; import OfflineWithFeedback from '@components/OfflineWithFeedback'; import Text from '@components/Text'; +import {useCurrencyListActions} from '@hooks/useCurrencyList'; import useLocalize from '@hooks/useLocalize'; import useResponsiveLayoutOnWideRHP from '@hooks/useResponsiveLayoutOnWideRHP'; import useThemeStyles from '@hooks/useThemeStyles'; -import {convertToDisplayString} from '@libs/CurrencyUtils'; import {getCommaSeparatedTagNameWithSanitizedColons} from '@libs/PolicyUtils'; import variables from '@styles/variables'; import CONST from '@src/CONST'; @@ -62,6 +62,7 @@ function MoneyRequestReportGroupHeader({ onToggleSelection, pendingAction, }: MoneyRequestReportGroupHeaderProps) { + const {convertToDisplayString} = useCurrencyListActions(); const styles = useThemeStyles(); const {translate} = useLocalize(); const {shouldUseNarrowLayout} = useResponsiveLayoutOnWideRHP(); diff --git a/src/components/MoneyRequestReportView/MoneyRequestReportTotalSpend.tsx b/src/components/MoneyRequestReportView/MoneyRequestReportTotalSpend.tsx index 492df8840d8e..debb38c6694f 100644 --- a/src/components/MoneyRequestReportView/MoneyRequestReportTotalSpend.tsx +++ b/src/components/MoneyRequestReportView/MoneyRequestReportTotalSpend.tsx @@ -4,10 +4,10 @@ import {View} from 'react-native'; import type {StyleProp, ViewStyle} from 'react-native'; import Animated, {FadeIn, FadeOut} from 'react-native-reanimated'; import Text from '@components/Text'; +import {useCurrencyListActions} from '@hooks/useCurrencyList'; import useLocalize from '@hooks/useLocalize'; import useResponsiveLayoutOnWideRHP from '@hooks/useResponsiveLayoutOnWideRHP'; import useThemeStyles from '@hooks/useThemeStyles'; -import {convertToDisplayString} from '@libs/CurrencyUtils'; import type * as OnyxTypes from '@src/types/onyx'; type MoneyRequestReportTotalSpendProps = { @@ -42,6 +42,7 @@ function MoneyRequestReportTotalSpend({ hasPendingAction, textContainerStyle, }: MoneyRequestReportTotalSpendProps) { + const {convertToDisplayString} = useCurrencyListActions(); const styles = useThemeStyles(); const {translate} = useLocalize(); const {shouldUseNarrowLayout} = useResponsiveLayoutOnWideRHP(); diff --git a/src/components/MoneyRequestReportView/MoneyRequestReportTransactionList.tsx b/src/components/MoneyRequestReportView/MoneyRequestReportTransactionList.tsx index 49d3c3480f98..58766bc0d8d4 100644 --- a/src/components/MoneyRequestReportView/MoneyRequestReportTransactionList.tsx +++ b/src/components/MoneyRequestReportView/MoneyRequestReportTransactionList.tsx @@ -20,6 +20,7 @@ import SingleSelectListItem from '@components/SelectionList/ListItem/SingleSelec import Text from '@components/Text'; import {useWideRHPActions} from '@components/WideRHPContextProvider'; import useCopySelectionHelper from '@hooks/useCopySelectionHelper'; +import {useCurrencyListActions} from '@hooks/useCurrencyList'; import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails'; import useHandleSelectionMode from '@hooks/useHandleSelectionMode'; import {useMemoizedLazyExpensifyIcons} from '@hooks/useLazyAsset'; @@ -37,7 +38,6 @@ import {setOptimisticTransactionThread} from '@libs/actions/Report'; import {getReportLayoutGroupBy, setReportLayoutGroupBy} from '@libs/actions/ReportLayout'; import {clearActiveTransactionIDs, setActiveTransactionIDs} from '@libs/actions/TransactionThreadNavigation'; import {resolveTransactionCardFields} from '@libs/CardUtils'; -import {convertToDisplayString} from '@libs/CurrencyUtils'; import {hasNonReimbursableTransactions, isBillableEnabledOnPolicy} from '@libs/MoneyRequestReportUtils'; import {navigationRef} from '@libs/Navigation/Navigation'; import {isPolicyTaxEnabled} from '@libs/PolicyUtils'; @@ -134,6 +134,7 @@ function MoneyRequestReportTransactionList({ isLoadingInitialReportActions = false, }: MoneyRequestReportTransactionListProps) { useCopySelectionHelper(); + const {convertToDisplayString} = useCurrencyListActions(); const styles = useThemeStyles(); const StyleUtils = useStyleUtils(); const expensifyIcons = useMemoizedLazyExpensifyIcons(['Location', 'CheckSquare', 'ReceiptPlus', 'Columns', 'Plus']); diff --git a/src/pages/AddUnreportedExpense.tsx b/src/pages/AddUnreportedExpense.tsx index 5f9a6c49a837..a429426739a8 100644 --- a/src/pages/AddUnreportedExpense.tsx +++ b/src/pages/AddUnreportedExpense.tsx @@ -8,6 +8,7 @@ import ScrollView from '@components/ScrollView'; import SelectionList from '@components/SelectionList'; import type {ListItem, SelectionListHandle} from '@components/SelectionList/types'; import UnreportedExpensesSkeleton from '@components/Skeletons/UnreportedExpensesSkeleton'; +import {useCurrencyListActions} from '@hooks/useCurrencyList'; import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails'; import useDebouncedState from '@hooks/useDebouncedState'; import useIsInLandscapeMode from '@hooks/useIsInLandscapeMode'; @@ -18,7 +19,6 @@ import useOnyx from '@hooks/useOnyx'; import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import {fetchUnreportedExpenses} from '@libs/actions/UnreportedExpenses'; -import {convertToDisplayString} from '@libs/CurrencyUtils'; import getNonEmptyStringOnyxID from '@libs/getNonEmptyStringOnyxID'; import interceptAnonymousUser from '@libs/interceptAnonymousUser'; import type {AddUnreportedExpensesParamList} from '@libs/Navigation/types'; @@ -43,6 +43,7 @@ import UnreportedExpenseListItem from './UnreportedExpenseListItem'; type AddUnreportedExpensePageType = PlatformStackScreenProps; function AddUnreportedExpense({route}: AddUnreportedExpensePageType) { + const {convertToDisplayString} = useCurrencyListActions(); const {translate} = useLocalize(); const illustrations = useMemoizedLazyIllustrations(['FolderWithPapersAndWatch']); const [errorMessage, setErrorMessage] = useState(''); @@ -179,7 +180,7 @@ function AddUnreportedExpense({route}: AddUnreportedExpensePageType) { return searchableFields; }); - }, [debouncedSearchValue, shouldShowTextInput, transactions]); + }, [convertToDisplayString, debouncedSearchValue, shouldShowTextInput, transactions]); const unreportedExpenses = useMemo(() => { return createUnreportedExpenses(filteredTransactions).map((item) => ({ diff --git a/src/pages/home/AssignedCardsSection/index.tsx b/src/pages/home/AssignedCardsSection/index.tsx index 949c04f4ccf5..96d50eba258c 100644 --- a/src/pages/home/AssignedCardsSection/index.tsx +++ b/src/pages/home/AssignedCardsSection/index.tsx @@ -5,6 +5,7 @@ import Hoverable from '@components/Hoverable'; import Icon from '@components/Icon'; import MenuItemWithTopDescription from '@components/MenuItemWithTopDescription'; import WidgetContainer from '@components/WidgetContainer'; +import {useCurrencyListActions} from '@hooks/useCurrencyList'; import {useMemoizedLazyExpensifyIcons} from '@hooks/useLazyAsset'; import useLocalize from '@hooks/useLocalize'; import useOnyx from '@hooks/useOnyx'; @@ -12,7 +13,6 @@ import useResponsiveLayout from '@hooks/useResponsiveLayout'; import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; import {getCardCurrency, getCardDescription, getDisplayableExpensifyCards} from '@libs/CardUtils'; -import {convertToDisplayString} from '@libs/CurrencyUtils'; import Navigation from '@libs/Navigation/Navigation'; import variables from '@styles/variables'; import CONST from '@src/CONST'; @@ -22,6 +22,7 @@ import RemainingLimitCircle from './RemainingLimitCircle'; function AssignedCardsSection() { const {shouldUseNarrowLayout} = useResponsiveLayout(); + const {convertToDisplayString} = useCurrencyListActions(); const {translate} = useLocalize(); const styles = useThemeStyles(); const theme = useTheme(); diff --git a/src/pages/home/TimeSensitiveSection/items/ReviewCardFraud.tsx b/src/pages/home/TimeSensitiveSection/items/ReviewCardFraud.tsx index b363f97a05d9..183fdd47a472 100644 --- a/src/pages/home/TimeSensitiveSection/items/ReviewCardFraud.tsx +++ b/src/pages/home/TimeSensitiveSection/items/ReviewCardFraud.tsx @@ -1,8 +1,8 @@ import React from 'react'; import ExpensifyCardIcon from '@assets/images/expensify-card-icon.svg'; import BaseWidgetItem from '@components/BaseWidgetItem'; +import {useCurrencyListActions} from '@hooks/useCurrencyList'; import useLocalize from '@hooks/useLocalize'; -import {convertToDisplayString} from '@libs/CurrencyUtils'; import Navigation from '@libs/Navigation/Navigation'; import colors from '@styles/theme/colors'; import CONST from '@src/CONST'; @@ -17,6 +17,7 @@ type ReviewCardFraudProps = { }; function ReviewCardFraud({possibleFraud}: ReviewCardFraudProps) { + const {convertToDisplayString} = useCurrencyListActions(); const {translate} = useLocalize(); const fraudAlertReportID = possibleFraud?.fraudAlertReportID ?? CONST.DEFAULT_NUMBER_ID; diff --git a/src/pages/settings/Wallet/ExpensifyCardPage/index.tsx b/src/pages/settings/Wallet/ExpensifyCardPage/index.tsx index eb1929b7ad83..6f6675bde684 100644 --- a/src/pages/settings/Wallet/ExpensifyCardPage/index.tsx +++ b/src/pages/settings/Wallet/ExpensifyCardPage/index.tsx @@ -19,6 +19,7 @@ import {useMultifactorAuthentication} from '@components/MultifactorAuthenticatio import {usePersonalDetails, useSession} from '@components/OnyxListItemProvider'; import ScreenWrapper from '@components/ScreenWrapper'; import ScrollView from '@components/ScrollView'; +import {useCurrencyListActions} from '@hooks/useCurrencyList'; import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails'; import {useMemoizedLazyExpensifyIcons} from '@hooks/useLazyAsset'; import useLocalize from '@hooks/useLocalize'; @@ -41,7 +42,6 @@ import { maskPin, supportsPINManagementFeatures, } from '@libs/CardUtils'; -import {convertToDisplayString} from '@libs/CurrencyUtils'; import Navigation from '@libs/Navigation/Navigation'; import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {DomainCardNavigatorParamList, SettingsNavigatorParamList} from '@libs/Navigation/types'; @@ -87,6 +87,7 @@ function getLimitTypeTranslationKeys(limitType: ValueOf