Skip to content

Commit 0aa2ac3

Browse files
authored
Merge pull request #91495 from huult/83834-migrate-perdiem
migrate WORKSPACE_COMPANY_CARDS_ADD_NEW
2 parents ce524a7 + 60ddf53 commit 0aa2ac3

17 files changed

Lines changed: 35 additions & 50 deletions

config/eslint/eslint.seatbelt.tsv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -622,7 +622,7 @@
622622
"../../src/pages/workspace/categories/WorkspaceCategoriesPage.tsx" "react-hooks/set-state-in-effect" 2
623623
"../../src/pages/workspace/companyCards/BankConnection/index.tsx" "react-hooks/set-state-in-effect" 1
624624
"../../src/pages/workspace/companyCards/WorkspaceVerifyWorkAccountPage.tsx" "react-hooks/set-state-in-effect" 1
625-
"../../src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx" "@typescript-eslint/no-deprecated/ConfirmModal" 1
625+
"../../src/pages/workspace/companyCards/addNew/DynamicAddNewCardPage.tsx" "@typescript-eslint/no-deprecated/ConfirmModal" 1
626626
"../../src/pages/workspace/companyCards/addNew/PlaidConnectionStep.tsx" "@typescript-eslint/no-deprecated/InteractionManager.runAfterInteractions" 1
627627
"../../src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx" "react-hooks/preserve-manual-memoization" 1
628628
"../../src/pages/workspace/downgrade/WorkspaceDowngradePage.tsx" "@typescript-eslint/no-deprecated/ConfirmModal" 1

src/ROUTES.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -566,6 +566,10 @@ const DYNAMIC_ROUTES = {
566566
path: 'select-feed',
567567
entryScreens: [SCREENS.WORKSPACE.EXPENSIFY_CARD],
568568
},
569+
WORKSPACE_COMPANY_CARDS_ADD_NEW: {
570+
path: 'add-card-feed',
571+
entryScreens: [SCREENS.WORKSPACE.COMPANY_CARDS, SCREENS.WORKSPACE.COMPANY_CARDS_SELECT_FEED],
572+
},
569573
WORKSPACE_EXPENSIFY_CARD_ISSUE_NEW_CONFIRM_MAGIC_CODE: {
570574
path: 'confirm-magic-code',
571575
entryScreens: [SCREENS.WORKSPACE.DYNAMIC_WORKSPACE_EXPENSIFY_CARD_ISSUE_NEW],
@@ -2720,11 +2724,6 @@ const ROUTES = {
27202724
return getUrlWithBackToParam(`workspaces/${policyID}/company-cards/${feed}/bank-connection`, backTo);
27212725
},
27222726
},
2723-
WORKSPACE_COMPANY_CARDS_ADD_NEW: {
2724-
route: 'workspaces/:policyID/company-cards/add-card-feed',
2725-
2726-
getRoute: (policyID: string, backTo?: string) => getUrlWithBackToParam(`workspaces/${policyID}/company-cards/add-card-feed`, backTo),
2727-
},
27282727
WORKSPACE_COMPANY_CARDS_IMPORT_SPREADSHEET: {
27292728
route: 'workspaces/:policyID/company-cards/add-card-feed/import',
27302729
getRoute: (policyID: string) => `workspaces/${policyID}/company-cards/add-card-feed/import` as const,

src/SCREENS.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -724,7 +724,7 @@ const SCREENS = {
724724
COMPANY_CARDS_ASSIGN_CARD_INVITE_NEW_MEMBER: 'Workspace_CompanyCards_AssignCard_Invite_New_Member',
725725
COMPANY_CARDS_SELECT_FEED: 'Workspace_CompanyCards_Select_Feed',
726726
COMPANY_CARDS_BANK_CONNECTION: 'Workspace_CompanyCards_BankConnection',
727-
COMPANY_CARDS_ADD_NEW: 'Workspace_CompanyCards_New',
727+
DYNAMIC_WORKSPACE_COMPANY_CARDS_ADD_NEW: 'Dynamic_Workspace_CompanyCards_New',
728728
COMPANY_CARDS_IMPORT_SPREADSHEET: 'Workspace_CompanyCards_Import_Spreadsheet',
729729
COMPANY_CARDS_IMPORTED: 'Workspace_CompanyCards_Imported',
730730
COMPANY_CARDS_TYPE: 'Workspace_CompanyCards_Type',

src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -952,7 +952,7 @@ const SettingsModalStackNavigator = createModalStackNavigator<SettingsNavigatorP
952952
[SCREENS.WORKSPACE.COMPANY_CARDS_ASSIGN_CARD_INVITE_NEW_MEMBER]: () => require<ReactComponentModule>('../../../../pages/workspace/companyCards/assignCard/InviteNewMemberStep').default,
953953
[SCREENS.WORKSPACE.COMPANY_CARDS_SELECT_FEED]: () => require<ReactComponentModule>('../../../../pages/workspace/companyCards/WorkspaceCompanyCardFeedSelectorPage').default,
954954
[SCREENS.WORKSPACE.COMPANY_CARDS_BANK_CONNECTION]: () => require<ReactComponentModule>('../../../../pages/workspace/companyCards/BankConnection').default,
955-
[SCREENS.WORKSPACE.COMPANY_CARDS_ADD_NEW]: () => require<ReactComponentModule>('../../../../pages/workspace/companyCards/addNew/AddNewCardPage').default,
955+
[SCREENS.WORKSPACE.DYNAMIC_WORKSPACE_COMPANY_CARDS_ADD_NEW]: () => require<ReactComponentModule>('../../../../pages/workspace/companyCards/addNew/DynamicAddNewCardPage').default,
956956
[SCREENS.WORKSPACE.COMPANY_CARDS_IMPORT_SPREADSHEET]: () => require<ReactComponentModule>('../../../../pages/workspace/companyCards/addNew/CompanyCardsImportSpreadsheetPage').default,
957957
[SCREENS.WORKSPACE.COMPANY_CARDS_IMPORTED]: () => require<ReactComponentModule>('../../../../pages/workspace/companyCards/addNew/CompanyCardsImportedPage').default,
958958
[SCREENS.WORKSPACE.COMPANY_CARDS_LAYOUT_NAME]: () => require<ReactComponentModule>('../../../../pages/workspace/companyCards/addNew/CompanyCardLayoutNamePage').default,

src/libs/Navigation/linkingConfig/RELATIONS/WORKSPACE_TO_RHP.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ const WORKSPACE_TO_RHP: Partial<Record<keyof WorkspaceSplitNavigatorParamList, s
276276
],
277277
[SCREENS.WORKSPACE.INVOICES]: [SCREENS.WORKSPACE.INVOICES_COMPANY_NAME, SCREENS.WORKSPACE.INVOICES_COMPANY_WEBSITE, SCREENS.WORKSPACE.INVOICES_VERIFY_ACCOUNT],
278278
[SCREENS.WORKSPACE.COMPANY_CARDS]: [
279-
SCREENS.WORKSPACE.COMPANY_CARDS_ADD_NEW,
279+
SCREENS.WORKSPACE.DYNAMIC_WORKSPACE_COMPANY_CARDS_ADD_NEW,
280280
SCREENS.WORKSPACE.COMPANY_CARDS_IMPORT_SPREADSHEET,
281281
SCREENS.WORKSPACE.COMPANY_CARDS_IMPORTED,
282282
SCREENS.WORKSPACE.COMPANY_CARDS_LAYOUT_NAME,

src/libs/Navigation/linkingConfig/config.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -920,9 +920,7 @@ const config: LinkingOptions<RootNavigatorParamList>['config'] = {
920920
[SCREENS.WORKSPACE.EXPENSIFY_CARD_DETAILS]: {
921921
path: ROUTES.WORKSPACE_EXPENSIFY_CARD_DETAILS.route,
922922
},
923-
[SCREENS.WORKSPACE.COMPANY_CARDS_ADD_NEW]: {
924-
path: ROUTES.WORKSPACE_COMPANY_CARDS_ADD_NEW.route,
925-
},
923+
[SCREENS.WORKSPACE.DYNAMIC_WORKSPACE_COMPANY_CARDS_ADD_NEW]: DYNAMIC_ROUTES.WORKSPACE_COMPANY_CARDS_ADD_NEW.path,
926924
[SCREENS.WORKSPACE.COMPANY_CARDS_IMPORT_SPREADSHEET]: {
927925
path: ROUTES.WORKSPACE_COMPANY_CARDS_IMPORT_SPREADSHEET.route,
928926
},

src/libs/Navigation/types.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2706,10 +2706,8 @@ type WorkspaceSplitNavigatorParamList = {
27062706
// eslint-disable-next-line no-restricted-syntax -- `backTo` usages in this file are legacy. Do not add new `backTo` params to screens. See contributingGuides/NAVIGATION.md
27072707
backTo?: Routes;
27082708
};
2709-
[SCREENS.WORKSPACE.COMPANY_CARDS_ADD_NEW]: {
2709+
[SCREENS.WORKSPACE.DYNAMIC_WORKSPACE_COMPANY_CARDS_ADD_NEW]: {
27102710
policyID: string;
2711-
// eslint-disable-next-line no-restricted-syntax -- `backTo` usages in this file are legacy. Do not add new `backTo` params to screens. See contributingGuides/NAVIGATION.md
2712-
backTo?: Routes;
27132711
};
27142712
[SCREENS.WORKSPACE.COMPANY_CARDS_IMPORT_SPREADSHEET]: {
27152713
policyID: string;

src/pages/workspace/companyCards/WorkspaceCompanyCardFeedSelectorPage.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import {getLinkedPolicyName} from '@libs/CardFeedUtils';
3030
import {getCardFeedIcon, getCardFeedWithDomainID, getCustomOrFormattedFeedName, getPlaidInstitutionIconUrl} from '@libs/CardUtils';
3131
import {getMicroSecondOnyxErrorWithTranslationKey} from '@libs/ErrorUtils';
3232
import {isEmailPublicDomain} from '@libs/LoginUtils';
33+
import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute';
3334
import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types';
3435
import type {SettingsNavigatorParamList} from '@libs/Navigation/types';
3536
import Navigation from '@navigation/Navigation';
@@ -40,7 +41,7 @@ import {clearAddNewCardFlow, linkCardFeedToPolicy} from '@userActions/CompanyCar
4041
import CONST from '@src/CONST';
4142
import type {TranslationPaths} from '@src/languages/types';
4243
import ONYXKEYS from '@src/ONYXKEYS';
43-
import ROUTES from '@src/ROUTES';
44+
import ROUTES, {DYNAMIC_ROUTES} from '@src/ROUTES';
4445
import type SCREENS from '@src/SCREENS';
4546
import type {CompanyCardFeedWithNumber} from '@src/types/onyx/CardFeeds';
4647
import type {Errors} from '@src/types/onyx/OnyxCommon';
@@ -119,7 +120,7 @@ function WorkspaceCompanyCardFeedSelectorPage({route}: WorkspaceCompanyCardFeedS
119120
);
120121
return;
121122
}
122-
Navigation.navigate(ROUTES.WORKSPACE_COMPANY_CARDS_ADD_NEW.getRoute(policyID));
123+
Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.WORKSPACE_COMPANY_CARDS_ADD_NEW.path));
123124
};
124125

125126
const goBack = () => Navigation.goBack(ROUTES.WORKSPACE_COMPANY_CARDS.getRoute(policyID));

src/pages/workspace/companyCards/WorkspaceCompanyCardPageEmptyState.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@ import usePolicy from '@hooks/usePolicy';
1313
import useResponsiveLayout from '@hooks/useResponsiveLayout';
1414
import useThemeStyles from '@hooks/useThemeStyles';
1515
import {hasIssuedExpensifyCard} from '@libs/CardUtils';
16+
import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute';
1617
import Navigation from '@libs/Navigation/Navigation';
1718
import colors from '@styles/theme/colors';
1819
import {clearAddNewCardFlow} from '@userActions/CompanyCards';
1920
import CONST from '@src/CONST';
2021
import ONYXKEYS from '@src/ONYXKEYS';
21-
import ROUTES from '@src/ROUTES';
22+
import ROUTES, {DYNAMIC_ROUTES} from '@src/ROUTES';
2223
import WorkspaceCompanyCardExpensifyCardPromotionBanner from './WorkspaceCompanyCardExpensifyCardPromotionBanner';
2324

2425
type WorkspaceCompanyCardPageEmptyStateProps = {
@@ -103,7 +104,7 @@ function WorkspaceCompanyCardPageEmptyState({policyID, shouldShowGBDisclaimer}:
103104
return;
104105
}
105106
clearAddNewCardFlow();
106-
Navigation.navigate(ROUTES.WORKSPACE_COMPANY_CARDS_ADD_NEW.getRoute(policy.id));
107+
Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.WORKSPACE_COMPANY_CARDS_ADD_NEW.path));
107108
};
108109

109110
return (

src/pages/workspace/companyCards/WorkspaceCompanyCardsVerifyAccountPage.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@ import React from 'react';
22
import {useCurrencyListState} from '@hooks/useCurrencyList';
33
import useOnyx from '@hooks/useOnyx';
44
import usePolicy from '@hooks/usePolicy';
5+
import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute';
56
import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types';
67
import type {SettingsNavigatorParamList} from '@navigation/types';
78
import VerifyAccountPageBase from '@pages/settings/VerifyAccountPageBase';
89
import {clearAddNewCardFlow, seedCardFeedRefresh} from '@userActions/CompanyCards';
910
import ONYXKEYS from '@src/ONYXKEYS';
10-
import ROUTES from '@src/ROUTES';
11+
import ROUTES, {DYNAMIC_ROUTES} from '@src/ROUTES';
1112
import type SCREENS from '@src/SCREENS';
1213

1314
type WorkspaceCompanyCardsVerifyAccountPageProps = PlatformStackScreenProps<SettingsNavigatorParamList, typeof SCREENS.WORKSPACE.COMPANY_CARDS_VERIFY_ACCOUNT>;
@@ -41,7 +42,7 @@ function WorkspaceCompanyCardsVerifyAccountPage({route}: WorkspaceCompanyCardsVe
4142
return (
4243
<VerifyAccountPageBase
4344
navigateBackTo={companyCardsRoute}
44-
navigateForwardTo={ROUTES.WORKSPACE_COMPANY_CARDS_ADD_NEW.getRoute(policyID)}
45+
navigateForwardTo={createDynamicRoute(DYNAMIC_ROUTES.WORKSPACE_COMPANY_CARDS_ADD_NEW.path, companyCardsRoute)}
4546
onValidationSuccess={clearAddNewCardFlow}
4647
/>
4748
);

0 commit comments

Comments
 (0)