@@ -62,10 +62,7 @@ function WorkspaceMemberDetailsPage({personalDetails, policy, route}: WorkspaceM
62
62
const { formatPhoneNumber, translate} = useLocalize ( ) ;
63
63
const StyleUtils = useStyleUtils ( ) ;
64
64
const currentUserPersonalDetails = useCurrentUserPersonalDetails ( ) ;
65
- const [ cards ] = useOnyx ( `${ ONYXKEYS . CARD_LIST } ` ) ;
66
- const [ expensifyCards ] = useOnyx ( `${ ONYXKEYS . COLLECTION . WORKSPACE_CARDS_LIST } ${ workspaceAccountID } _${ CONST . EXPENSIFY_CARD . BANK } ` ) ;
67
65
const [ cardFeeds ] = useOnyx ( `${ ONYXKEYS . COLLECTION . SHARED_NVP_PRIVATE_DOMAIN_MEMBER } ${ workspaceAccountID } ` ) ;
68
- const [ cardSettings ] = useOnyx ( `${ ONYXKEYS . COLLECTION . PRIVATE_EXPENSIFY_CARD_SETTINGS } ${ workspaceAccountID } ` ) ;
69
66
70
67
const [ isRemoveMemberConfirmModalVisible , setIsRemoveMemberConfirmModalVisible ] = useState ( false ) ;
71
68
const [ isRoleSelectionModalVisible , setIsRoleSelectionModalVisible ] = useState ( false ) ;
@@ -84,29 +81,20 @@ function WorkspaceMemberDetailsPage({personalDetails, policy, route}: WorkspaceM
84
81
const ownerDetails = personalDetails ?. [ policy ?. ownerAccountID ?? CONST . DEFAULT_NUMBER_ID ] ?? ( { } as PersonalDetails ) ;
85
82
const policyOwnerDisplayName = formatPhoneNumber ( PersonalDetailsUtils . getDisplayNameOrDefault ( ownerDetails ) ) ?? policy ?. owner ?? '' ;
86
83
const hasMultipleFeeds = Object . values ( CardUtils . getCompanyFeeds ( cardFeeds ) ) . filter ( ( feed ) => ! feed . pending ) . length > 0 ;
87
- const paymentAccountID = cardSettings ?. paymentBankAccountID ?? CONST . DEFAULT_NUMBER_ID ;
84
+
85
+ const workspaceCards = CardUtils . getAllCardsForWorkspace ( workspaceAccountID ) ;
86
+ const hasWorkspaceCardsAssigned = ! ! workspaceCards && ! ! Object . values ( workspaceCards ) . length ;
88
87
89
88
useEffect ( ( ) => {
90
89
CompanyCards . openPolicyCompanyCardsPage ( policyID , workspaceAccountID ) ;
91
90
} , [ policyID , workspaceAccountID ] ) ;
92
91
93
92
const memberCards = useMemo ( ( ) => {
94
- if ( ! cards && ! expensifyCards ) {
93
+ if ( ! workspaceCards ) {
95
94
return [ ] ;
96
95
}
97
- // For admin Expensify Cards can also appear in the cards list, so we need to remove duplicates
98
- const allCards = [ ...Object . values ( cards ?? { } ) , ...Object . values ( expensifyCards ?? { } ) ] ;
99
- const cardIDs = new Set ( ) ;
100
- const uniqueObjects = allCards . filter ( ( obj ) => {
101
- if ( cardIDs . has ( obj . cardID ) ) {
102
- return false ;
103
- }
104
- cardIDs . add ( obj . cardID ) ;
105
- return true ;
106
- } ) ;
107
-
108
- return Object . values ( uniqueObjects ?? { } ) . filter ( ( card ) => card . accountID === accountID && workspaceAccountID . toString ( ) === card . fundID ) ;
109
- } , [ accountID , workspaceAccountID , cards , expensifyCards ] ) ;
96
+ return Object . values ( workspaceCards ?? { } ) . filter ( ( card ) => card . accountID === accountID ) ;
97
+ } , [ accountID , workspaceCards ] ) ;
110
98
111
99
const confirmModalPrompt = useMemo ( ( ) => {
112
100
const isApprover = Member . isApprover ( policy , accountID ) ;
@@ -220,7 +208,7 @@ function WorkspaceMemberDetailsPage({personalDetails, policy, route}: WorkspaceM
220
208
return < NotFoundPage /> ;
221
209
}
222
210
223
- const shouldShowCardsSection = ( ! ! policy ?. areExpensifyCardsEnabled && ! ! paymentAccountID ) || ( ! ! policy ?. areCompanyCardsEnabled && hasMultipleFeeds ) ;
211
+ const shouldShowCardsSection = hasWorkspaceCardsAssigned && ( ! ! policy ?. areExpensifyCardsEnabled || ! ! policy ?. areCompanyCardsEnabled ) ;
224
212
225
213
return (
226
214
< AccessOrNotFoundWrapper
@@ -316,7 +304,7 @@ function WorkspaceMemberDetailsPage({personalDetails, policy, route}: WorkspaceM
316
304
{ translate ( 'walletPage.assignedCards' ) }
317
305
</ Text >
318
306
</ View >
319
- { ( memberCards as MemberCard [ ] ) . map ( ( memberCard ) => {
307
+ { memberCards . map ( ( memberCard ) => {
320
308
const isCardDeleted = memberCard . pendingAction === CONST . RED_BRICK_ROAD_PENDING_ACTION . DELETE ;
321
309
return (
322
310
< OfflineWithFeedback
0 commit comments