From b9bacac2d29b61353d518b96c5b0e282d1107fe4 Mon Sep 17 00:00:00 2001 From: dominictb Date: Thu, 19 Mar 2026 01:16:32 +0700 Subject: [PATCH 1/2] fix: navigation issue after adding Plaid feed in Collect workspace --- src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx b/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx index dcc4d037c676d..e32eab87c8c44 100644 --- a/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx +++ b/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx @@ -91,8 +91,11 @@ function AddNewCardPage({policy}: WithPolicyAndFullscreenLoadingProps) { step: CONST.COMPANY_CARDS.STEP.SELECT_DIRECT_STATEMENT_CLOSE_DATE, }); } else { - Navigation.closeRHPFlow(); - Navigation.navigate(ROUTES.WORKSPACE_COMPANY_CARDS.getRoute(policyID), {forceReplace: true}); + Navigation.dismissModal({ + afterTransition: () => { + Navigation.navigate(ROUTES.WORKSPACE_COMPANY_CARDS.getRoute(policyID), {forceReplace: true}); + }, + }); } }, [addNewCardFeed?.data?.publicToken, policyID], From f5f1d735a7ba8d148dc0604f99bc702bed28fd11 Mon Sep 17 00:00:00 2001 From: dominictb Date: Thu, 19 Mar 2026 02:39:16 +0700 Subject: [PATCH 2/2] set last selected feed only after closing the RHP --- .../companyCards/addNew/AddNewCardPage.tsx | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx b/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx index e32eab87c8c44..9ae67bb3d0ca8 100644 --- a/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx +++ b/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx @@ -78,25 +78,30 @@ function AddNewCardPage({policy}: WithPolicyAndFullscreenLoadingProps) { const handleBankConnectionSuccess = useCallback( (newFeed?: CompanyCardFeedWithDomainID) => { - if (newFeed) { - updateSelectedFeed(newFeed, policyID); - } - const isPlaid = !!addNewCardFeed?.data?.publicToken; // Direct feeds (except those added via Plaid) are created with default statement period end date. // Redirect the user to set a custom date. if (policyID && !isPlaid) { + if (newFeed) { + updateSelectedFeed(newFeed, policyID); + } setAddNewCompanyCardStepAndData({ step: CONST.COMPANY_CARDS.STEP.SELECT_DIRECT_STATEMENT_CLOSE_DATE, }); - } else { - Navigation.dismissModal({ - afterTransition: () => { - Navigation.navigate(ROUTES.WORKSPACE_COMPANY_CARDS.getRoute(policyID), {forceReplace: true}); - }, - }); + return; } + + Navigation.dismissModal({ + afterTransition: () => { + // This is to prevent WorkspaceCompanyCardsPage from refetching in the background with the new domainOrWorkspaceAccountID + // which would toggle isLoading and falsely trigger isBlockedToAddNewFeeds. + if (newFeed) { + updateSelectedFeed(newFeed, policyID); + } + Navigation.navigate(ROUTES.WORKSPACE_COMPANY_CARDS.getRoute(policyID), {forceReplace: true}); + }, + }); }, [addNewCardFeed?.data?.publicToken, policyID], );