Skip to content

Commit ee16273

Browse files
authored
Merge pull request Expensify#82055 from fedirjh/openPolicyCompanyCardsFeed-emailList
Remove unnecessary call `openWorkspaceMembersPage` in `WorkspaceCompanyCardsPage.tsx`
2 parents 8efe43e + 49b5976 commit ee16273

4 files changed

Lines changed: 11 additions & 10 deletions

File tree

src/hooks/useAssignCard.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
} from '@libs/CardUtils';
1414
import Navigation from '@libs/Navigation/Navigation';
1515
import {getPersonalDetailByEmail} from '@libs/PersonalDetailsUtils';
16-
import {getDomainNameForPolicy, isDeletedPolicyEmployee} from '@libs/PolicyUtils';
16+
import {getDomainNameForPolicy, getMemberAccountIDsForWorkspace, isDeletedPolicyEmployee} from '@libs/PolicyUtils';
1717
import {clearAddNewCardFlow, clearAssignCardStepAndData, openPolicyCompanyCardsPage, setAddNewCompanyCardStepAndData, setAssignCardStepAndData} from '@userActions/CompanyCards';
1818
import CONST from '@src/CONST';
1919
import ONYXKEYS from '@src/ONYXKEYS';
@@ -55,7 +55,8 @@ function useAssignCard({feedName, policyID, setShouldShowOfflineModal}: UseAssig
5555
const domainOrWorkspaceAccountID = getDomainOrWorkspaceAccountID(workspaceAccountID, selectedFeedData);
5656

5757
const fetchCompanyCards = () => {
58-
openPolicyCompanyCardsPage(policyID, domainOrWorkspaceAccountID, translate);
58+
const emailList = Object.keys(getMemberAccountIDsForWorkspace(policy?.employeeList));
59+
openPolicyCompanyCardsPage(policyID, domainOrWorkspaceAccountID, emailList, translate);
5960
};
6061

6162
const {isOffline} = useNetwork({onReconnect: fetchCompanyCards});
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
type OpenPolicyExpensifyCardsPageParams = {
22
policyID: string;
3+
emailList?: string;
34
};
45

56
export default OpenPolicyExpensifyCardsPageParams;

src/libs/actions/CompanyCards.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -814,7 +814,7 @@ function clearCompanyCardErrorField(domainOrWorkspaceAccountID: number, cardID:
814814
});
815815
}
816816

817-
function openPolicyCompanyCardsPage(policyID: string, domainOrWorkspaceAccountID: number, translate: LocaleContextProps['translate']) {
817+
function openPolicyCompanyCardsPage(policyID: string, domainOrWorkspaceAccountID: number, emailList: string[], translate: LocaleContextProps['translate']) {
818818
const optimisticData: Array<OnyxUpdate<typeof ONYXKEYS.COLLECTION.SHARED_NVP_PRIVATE_DOMAIN_MEMBER>> = [
819819
{
820820
onyxMethod: Onyx.METHOD.MERGE,
@@ -851,6 +851,7 @@ function openPolicyCompanyCardsPage(policyID: string, domainOrWorkspaceAccountID
851851

852852
const params: OpenPolicyExpensifyCardsPageParams = {
853853
policyID,
854+
emailList: JSON.stringify(emailList),
854855
};
855856

856857
API.read(READ_COMMANDS.OPEN_POLICY_COMPANY_CARDS_PAGE, params, {optimisticData, successData, failureData});

src/pages/workspace/companyCards/WorkspaceCompanyCardsPage.tsx

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import useLocalize from '@hooks/useLocalize';
77
import useNetwork from '@hooks/useNetwork';
88
import usePolicy from '@hooks/usePolicy';
99
import useResponsiveLayout from '@hooks/useResponsiveLayout';
10-
import {openWorkspaceMembersPage} from '@libs/actions/Policy/Member';
1110
import {getDomainOrWorkspaceAccountID} from '@libs/CardUtils';
1211
import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types';
1312
import type {WorkspaceSplitNavigatorParamList} from '@libs/Navigation/types';
@@ -50,8 +49,9 @@ function WorkspaceCompanyCardsPage({route}: WorkspaceCompanyCardsPageProps) {
5049
return;
5150
}
5251

53-
openPolicyCompanyCardsPage(policyID, domainOrWorkspaceAccountID, translate);
54-
}, [domainOrWorkspaceAccountID, policyID, translate]);
52+
const emailList = Object.keys(getMemberAccountIDsForWorkspace(policy?.employeeList));
53+
openPolicyCompanyCardsPage(policyID, domainOrWorkspaceAccountID, emailList, translate);
54+
}, [domainOrWorkspaceAccountID, policyID, policy?.employeeList, translate]);
5555

5656
const {isOffline} = useNetwork({
5757
onReconnect: loadPolicyCompanyCardsPage,
@@ -65,17 +65,15 @@ function WorkspaceCompanyCardsPage({route}: WorkspaceCompanyCardsPageProps) {
6565
}
6666

6767
loadPolicyCompanyCardsPage();
68-
}, [policyID, domainOrWorkspaceAccountID, loadPolicyCompanyCardsPage, isOffline]);
68+
}, [loadPolicyCompanyCardsPage, isOffline]);
6969

7070
const loadPolicyCompanyCardsFeed = useCallback(() => {
7171
if (isLoading || !bankName || isFeedPending) {
7272
return;
7373
}
7474

75-
const clientMemberEmails = Object.keys(getMemberAccountIDsForWorkspace(policy?.employeeList));
76-
openWorkspaceMembersPage(policyID, clientMemberEmails);
7775
openPolicyCompanyCardsFeed(domainOrWorkspaceAccountID, policyID, bankName, translate);
78-
}, [bankName, domainOrWorkspaceAccountID, isFeedPending, isLoading, policy?.employeeList, policyID, translate]);
76+
}, [bankName, domainOrWorkspaceAccountID, isFeedPending, isLoading, policyID, translate]);
7977

8078
useEffect(() => {
8179
loadPolicyCompanyCardsFeed();

0 commit comments

Comments
 (0)