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