@@ -36,16 +36,18 @@ function WorkspaceSettlementAccountPage({route}: WorkspaceSettlementAccountPageP
36
36
const policyID = route . params ?. policyID ;
37
37
const defaultFundID = useDefaultFundID ( policyID ) ;
38
38
39
- const [ bankAccountsList ] = useOnyx ( ONYXKEYS . BANK_ACCOUNT_LIST ) ;
40
- const [ cardSettings ] = useOnyx ( `${ ONYXKEYS . COLLECTION . PRIVATE_EXPENSIFY_CARD_SETTINGS } ${ defaultFundID } ` ) ;
41
- const [ isUsedContinuousReconciliation ] = useOnyx ( `${ ONYXKEYS . COLLECTION . EXPENSIFY_CARD_USE_CONTINUOUS_RECONCILIATION } ${ defaultFundID } ` ) ;
42
- const [ reconciliationConnection ] = useOnyx ( `${ ONYXKEYS . COLLECTION . EXPENSIFY_CARD_CONTINUOUS_RECONCILIATION_CONNECTION } ${ defaultFundID } ` ) ;
39
+ const [ bankAccountsList ] = useOnyx ( ONYXKEYS . BANK_ACCOUNT_LIST , { canBeMissing : true } ) ;
40
+ const [ cardSettings ] = useOnyx ( `${ ONYXKEYS . COLLECTION . PRIVATE_EXPENSIFY_CARD_SETTINGS } ${ defaultFundID } ` , { canBeMissing : true } ) ;
41
+ const [ isUsingContinuousReconciliation ] = useOnyx ( `${ ONYXKEYS . COLLECTION . EXPENSIFY_CARD_USE_CONTINUOUS_RECONCILIATION } ${ defaultFundID } ` , { canBeMissing : true } ) ;
42
+ const [ reconciliationConnection ] = useOnyx ( `${ ONYXKEYS . COLLECTION . EXPENSIFY_CARD_CONTINUOUS_RECONCILIATION_CONNECTION } ${ defaultFundID } ` , { canBeMissing : true } ) ;
43
43
44
44
const connectionName = reconciliationConnection ?? '' ;
45
45
const connectionParam = getRouteParamForConnection ( connectionName as ConnectionName ) ;
46
46
47
47
const paymentBankAccountID = cardSettings ?. paymentBankAccountID ;
48
- const paymentBankAccountNumber = paymentBankAccountID ? bankAccountsList ?. [ paymentBankAccountID . toString ( ) ] ?. accountData ?. accountNumber ?? '' : '' ;
48
+ const paymentBankAccountNumberFromCardSettings = cardSettings ?. paymentBankAccountNumber ;
49
+ const paymentBankAccountAddressName = cardSettings ?. paymentBankAccountAddressName ;
50
+ const paymentBankAccountNumber = bankAccountsList ?. [ paymentBankAccountID ?. toString ( ) ?? '' ] ?. accountData ?. accountNumber ?? paymentBankAccountNumberFromCardSettings ?? '' ;
49
51
50
52
const eligibleBankAccounts = getEligibleBankAccountsForCard ( bankAccountsList ?? { } ) ;
51
53
@@ -77,8 +79,30 @@ function WorkspaceSettlementAccountPage({route}: WorkspaceSettlementAccountPageP
77
79
isSelected : bankAccountID === paymentBankAccountID ,
78
80
} ;
79
81
} ) ;
82
+ if ( options . length === 0 ) {
83
+ const bankName = ( paymentBankAccountAddressName ?? '' ) as BankName ;
84
+ const bankAccountNumber = paymentBankAccountNumberFromCardSettings ?? '' ;
85
+ const { icon, iconSize, iconStyles} = getBankIcon ( { bankName, styles} ) ;
86
+ options . push ( {
87
+ value : paymentBankAccountID ,
88
+ text : paymentBankAccountAddressName ,
89
+ leftElement : (
90
+ < View style = { [ styles . flexRow , styles . alignItemsCenter , styles . mr3 ] } >
91
+ < Icon
92
+ src = { icon }
93
+ width = { iconSize }
94
+ height = { iconSize }
95
+ additionalStyles = { iconStyles }
96
+ />
97
+ </ View >
98
+ ) ,
99
+ alternateText : `${ translate ( 'workspace.expensifyCard.accountEndingIn' ) } ${ getLastFourDigits ( bankAccountNumber ) } ` ,
100
+ keyForList : paymentBankAccountID ?. toString ( ) ,
101
+ isSelected : true ,
102
+ } ) ;
103
+ }
80
104
return options ;
81
- } , [ eligibleBankAccounts , paymentBankAccountID , styles , translate ] ) ;
105
+ } , [ eligibleBankAccounts , paymentBankAccountAddressName , paymentBankAccountID , paymentBankAccountNumberFromCardSettings , styles , translate ] ) ;
82
106
83
107
const updateSettlementAccount = ( value : number ) => {
84
108
updateSettlementAccountCard ( domainName , defaultFundID , policyID , value , paymentBankAccountID ) ;
@@ -116,7 +140,7 @@ function WorkspaceSettlementAccountPage({route}: WorkspaceSettlementAccountPageP
116
140
listHeaderContent = {
117
141
< >
118
142
< Text style = { [ styles . mh5 , styles . mv4 ] } > { translate ( 'workspace.expensifyCard.settlementAccountDescription' ) } </ Text >
119
- { ! ! isUsedContinuousReconciliation && (
143
+ { ! ! isUsingContinuousReconciliation && (
120
144
< Text style = { [ styles . mh5 , styles . mb6 ] } >
121
145
< Text > { translate ( 'workspace.expensifyCard.settlementAccountInfoPt1' ) } </ Text > { ' ' }
122
146
< TextLink onPress = { ( ) => Navigation . navigate ( ROUTES . WORKSPACE_ACCOUNTING_RECONCILIATION_ACCOUNT_SETTINGS . getRoute ( policyID , connectionParam ) ) } >
0 commit comments