@@ -2,6 +2,7 @@ import React, {useCallback} from 'react';
22import useOnyx from 'react-native-onyx/dist/useOnyx' ;
33import useCardFeeds from '@hooks/useCardFeeds' ;
44import useLocalize from '@hooks/useLocalize' ;
5+ import usePermissions from '@hooks/usePermissions' ;
56import { addNewCompanyCardsFeed , setAddNewCompanyCardStepAndData } from '@libs/actions/CompanyCards' ;
67import Navigation from '@libs/Navigation/Navigation' ;
78import WorkspaceCompanyCardStatementCloseDateSelectionList from '@pages/workspace/companyCards/WorkspaceCompanyCardStatementCloseDateSelectionList' ;
@@ -17,36 +18,43 @@ type StatementCloseDateStepProps = {
1718
1819function StatementCloseDateStep ( { policyID} : StatementCloseDateStepProps ) {
1920 const { translate} = useLocalize ( ) ;
20-
21+ const { isBetaEnabled } = usePermissions ( ) ;
2122 const [ addNewCard ] = useOnyx ( ONYXKEYS . ADD_NEW_COMPANY_CARD , { canBeMissing : false } ) ;
2223 const [ lastSelectedFeed ] = useOnyx ( `${ ONYXKEYS . COLLECTION . LAST_SELECTED_FEED } ${ policyID } ` , { canBeMissing : true } ) ;
23-
2424 const [ cardFeeds ] = useCardFeeds ( policyID ) ;
2525
26+ const isPlaid = isBetaEnabled ( CONST . BETAS . PLAID_COMPANY_CARDS ) && ! ! addNewCard ?. data ?. publicToken ;
27+
2628 const submit = useCallback (
2729 // s77rt make use of statementCloseDate / statementCustomCloseDate and remove disable lint rule
2830 // eslint-disable-next-line @typescript-eslint/no-unused-vars
2931 ( statementCloseDate : CompanyCardStatementCloseDate , statementCustomCloseDate : number | undefined ) => {
30- if ( ! addNewCard ?. data . feedDetails ) {
32+ if ( isPlaid ) {
33+ setAddNewCompanyCardStepAndData ( {
34+ step : CONST . COMPANY_CARDS . STEP . BANK_CONNECTION ,
35+ } ) ;
3136 return ;
3237 }
3338
34- addNewCompanyCardsFeed ( policyID , addNewCard . data . feedType , addNewCard . data . feedDetails , cardFeeds , lastSelectedFeed ) ;
35- Navigation . goBack ( ROUTES . WORKSPACE_COMPANY_CARDS . getRoute ( policyID ) ) ;
39+ if ( addNewCard ?. data . feedDetails ) {
40+ addNewCompanyCardsFeed ( policyID , addNewCard . data . feedType , addNewCard . data . feedDetails , cardFeeds , lastSelectedFeed ) ;
41+ Navigation . goBack ( ROUTES . WORKSPACE_COMPANY_CARDS . getRoute ( policyID ) ) ;
42+ }
3643 } ,
37- [ policyID , addNewCard , cardFeeds , lastSelectedFeed ] ,
44+ [ policyID , addNewCard , cardFeeds , lastSelectedFeed , isPlaid ] ,
3845 ) ;
3946
4047 const goBack = useCallback ( ( ) => {
41- setAddNewCompanyCardStepAndData ( { step : CONST . COMPANY_CARDS . STEP . CARD_DETAILS } ) ;
42- } , [ ] ) ;
48+ setAddNewCompanyCardStepAndData ( { step : isPlaid ? CONST . COMPANY_CARDS . STEP . PLAID_CONNECTION : CONST . COMPANY_CARDS . STEP . CARD_DETAILS } ) ;
49+ } , [ isPlaid ] ) ;
4350
4451 return (
4552 < WorkspaceCompanyCardStatementCloseDateSelectionList
4653 confirmText = { translate ( 'common.submit' ) }
4754 onSubmit = { submit }
4855 onBackButtonPress = { goBack }
4956 enabledWhenOffline = { false }
57+ defaultDate = { CONST . COMPANY_CARDS . STATEMENT_CLOSE_DATE . LAST_DAY_OF_MONTH }
5058 />
5159 ) ;
5260}
0 commit comments