diff --git a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx index 9a02ac646043..f991711129f7 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx @@ -13,14 +13,17 @@ import MenuItemWithTopDescription from '@components/MenuItemWithTopDescription'; import OfflineWithFeedback from '@components/OfflineWithFeedback'; import ScreenWrapper from '@components/ScreenWrapper'; import ScrollView from '@components/ScrollView'; +import useCardFeeds from '@hooks/useCardFeeds'; import useCurrencyForExpensifyCard from '@hooks/useCurrencyForExpensifyCard'; import useDefaultFundID from '@hooks/useDefaultFundID'; +import useExpensifyCardFeeds from '@hooks/useExpensifyCardFeeds'; import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useOnyx from '@hooks/useOnyx'; import useResponsiveLayout from '@hooks/useResponsiveLayout'; import useThemeStyles from '@hooks/useThemeStyles'; -import {filterInactiveCards, getTranslationKeyForLimitType, maskCard} from '@libs/CardUtils'; +import useWorkspaceAccountID from '@hooks/useWorkspaceAccountID'; +import {getAllCardsForWorkspace, getTranslationKeyForLimitType, maskCard} from '@libs/CardUtils'; import {convertToDisplayString} from '@libs/CurrencyUtils'; import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; @@ -45,6 +48,7 @@ type WorkspaceExpensifyCardDetailsPageProps = PlatformStackScreenProps< function WorkspaceExpensifyCardDetailsPage({route}: WorkspaceExpensifyCardDetailsPageProps) { const {policyID, cardID, backTo} = route.params; const defaultFundID = useDefaultFundID(policyID); + const workspaceAccountID = useWorkspaceAccountID(policyID); const [isDeactivateModalVisible, setIsDeactivateModalVisible] = useState(false); const [isOfflineModalVisible, setIsOfflineModalVisible] = useState(false); @@ -56,12 +60,13 @@ function WorkspaceExpensifyCardDetailsPage({route}: WorkspaceExpensifyCardDetail const [isDeleted, setIsDeleted] = useState(false); const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST, {canBeMissing: false}); - const [cardsList, cardsListResult] = useOnyx(`${ONYXKEYS.COLLECTION.WORKSPACE_CARDS_LIST}${defaultFundID}_${CONST.EXPENSIFY_CARD.BANK}`, { - selector: filterInactiveCards, - canBeMissing: true, - }); + const [cardFeeds] = useCardFeeds(policyID); + const expensifyCardSettings = useExpensifyCardFeeds(policyID); + const [allFeedsCards, allFeedsCardsResult] = useOnyx(ONYXKEYS.COLLECTION.WORKSPACE_CARDS_LIST, {canBeMissing: true}); + const workspaceCards = getAllCardsForWorkspace(workspaceAccountID ?? CONST.DEFAULT_NUMBER_ID, allFeedsCards, cardFeeds, expensifyCardSettings); + const isWorkspaceCardRhp = route.name === SCREENS.WORKSPACE.EXPENSIFY_CARD_DETAILS; - const card = cardsList?.[cardID]; + const card = workspaceCards?.[cardID]; const currency = useCurrencyForExpensifyCard({policyID}); const cardholder = personalDetails?.[card?.accountID ?? CONST.DEFAULT_NUMBER_ID]; const isVirtual = !!card?.nameValuePairs?.isVirtual; @@ -95,7 +100,7 @@ function WorkspaceExpensifyCardDetailsPage({route}: WorkspaceExpensifyCardDetail }); }; - if (!card && !isLoadingOnyxValue(cardsListResult)) { + if (!card && !isLoadingOnyxValue(allFeedsCardsResult)) { return ; }