Skip to content
5 changes: 3 additions & 2 deletions config/eslint/eslint.seatbelt.tsv
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@
"../../src/Expensify.tsx" "react-hooks/set-state-in-effect" 1
"../../src/GlobalModals.tsx" "no-restricted-syntax" 2
"../../src/ONYXKEYS.ts" "no-restricted-syntax" 2
"../../src/ROUTES.ts" "@typescript-eslint/no-deprecated/getUrlWithBackToParam" 128
"../../src/ROUTES.ts" "@typescript-eslint/no-deprecated/getUrlWithBackToParam" 123
"../../src/ROUTES.ts" "@typescript-eslint/no-unsafe-type-assertion" 3
"../../src/TIMEZONES.ts" "@typescript-eslint/no-unsafe-type-assertion" 1
"../../src/components/AccountingConnectionConfirmationModal.tsx" "@typescript-eslint/no-deprecated/ConfirmModal" 1
Expand Down Expand Up @@ -1089,8 +1089,9 @@
"../../src/pages/TransactionMerge/MergeTransactionsListContent.tsx" "@typescript-eslint/no-unsafe-type-assertion" 1
"../../src/pages/Travel/DynamicTravelTerms.tsx" "@typescript-eslint/no-unsafe-type-assertion" 1
"../../src/pages/Travel/DynamicTravelUpgrade.tsx" "no-restricted-imports" 1
"../../src/pages/Travel/DynamicWorkspaceAddressForTravelPage.tsx" "@typescript-eslint/no-unsafe-type-assertion" 1
"../../src/pages/Travel/DynamicWorkspaceConfirmationForTravelPage.tsx" "@typescript-eslint/no-unsafe-type-assertion" 2
"../../src/pages/Travel/TravelUpgrade.tsx" "react-hooks/set-state-in-effect" 1
"../../src/pages/Travel/WorkspaceConfirmationForTravelPage.tsx" "@typescript-eslint/no-unsafe-type-assertion" 2
"../../src/pages/UnreportedExpenseListItem.tsx" "@typescript-eslint/no-unsafe-type-assertion" 1
"../../src/pages/ValidateLoginPage/index.web.tsx" "react-hooks/set-state-in-effect" 1
"../../src/pages/domain/Groups/PreferredWorkspaceToggle.tsx" "@typescript-eslint/no-deprecated/ConfirmModal" 1
Expand Down
65 changes: 27 additions & 38 deletions src/ROUTES.ts
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,7 @@ const DYNAMIC_ROUTES = {
SCREENS.WORKSPACE.DYNAMIC_WORKSPACE_OVERVIEW_ADDRESS,
SCREENS.SETTINGS.WALLET.CARDS_DIGITAL_DETAILS_UPDATE_ADDRESS,
SCREENS.DOMAIN_CARD.DOMAIN_CARD_UPDATE_ADDRESS,
SCREENS.TRAVEL.WORKSPACE_ADDRESS,
SCREENS.TRAVEL.DYNAMIC_WORKSPACE_ADDRESS,
SCREENS.SETTINGS.ADD_US_BANK_ACCOUNT,
],
getRoute: (country = '') => `country?country=${country}`,
Expand Down Expand Up @@ -794,15 +794,25 @@ const DYNAMIC_ROUTES = {
SCREENS.WORKSPACE.TRAVEL,
SCREENS.SEARCH.ROOT,
SCREENS.TRAVEL.DYNAMIC_DOMAIN_SELECTOR,
SCREENS.TRAVEL.WORKSPACE_ADDRESS,
SCREENS.TRAVEL.VERIFY_ACCOUNT,
SCREENS.TRAVEL.DYNAMIC_WORKSPACE_ADDRESS,
SCREENS.TRAVEL.DYNAMIC_VERIFY_ACCOUNT,
],
getRoute: (domain: string, policyID?: string) => `terms/${domain}/accept${policyID ? `/${policyID}` : ''}`,
},
TRAVEL_DOMAIN_PERMISSION_INFO: {
path: 'domain-permission-info',
entryScreens: [SCREENS.TRAVEL.DYNAMIC_TCS],
},
TRAVEL_WORKSPACE_ADDRESS: {
path: 'workspace-address/:domain/:policyID?',
entryScreens: [SCREENS.TRAVEL.MY_TRIPS, SCREENS.WORKSPACE.TRAVEL, SCREENS.SEARCH.ROOT, SCREENS.TRAVEL.DYNAMIC_DOMAIN_SELECTOR],
getRoute: (domain: string, policyID?: string) => `workspace-address/${domain}${policyID ? `/${policyID}` : ''}`,
},
TRAVEL_VERIFY_ACCOUNT: {
path: 'verify-account/:domain/:policyID?',
entryScreens: [SCREENS.TRAVEL.MY_TRIPS, SCREENS.WORKSPACE.TRAVEL, SCREENS.SEARCH.ROOT, SCREENS.TRAVEL.DYNAMIC_DOMAIN_SELECTOR, SCREENS.TRAVEL.DYNAMIC_WORKSPACE_ADDRESS],
getRoute: (domain: string, policyID?: string) => `verify-account/${domain}${policyID ? `/${policyID}` : ''}`,
},
TRAVEL_DOMAIN_SELECTOR: {
path: 'domain-selector',
entryScreens: [SCREENS.TRAVEL.MY_TRIPS, SCREENS.WORKSPACE.TRAVEL, SCREENS.SEARCH.ROOT],
Expand All @@ -813,6 +823,20 @@ const DYNAMIC_ROUTES = {
path: 'travel-upgrade',
entryScreens: [SCREENS.TRAVEL.MY_TRIPS, SCREENS.WORKSPACE.TRAVEL, SCREENS.SEARCH.ROOT],
},
TRAVEL_WORKSPACE_CONFIRMATION: {
path: 'workspace-confirmation',
entryScreens: [SCREENS.TRAVEL.DYNAMIC_UPGRADE],
},
TRAVEL_TRIP_SUMMARY: {
path: 'trip/:transactionID',
entryScreens: [SCREENS.REPORT],
getRoute: (transactionID: string) => `trip/${transactionID}` as const,
},
TRAVEL_TRIP_DETAILS: {
path: 'trip/:transactionID/:pnr/:sequenceIndex',
entryScreens: [SCREENS.REPORT],
getRoute: (transactionID: string, pnr: string, sequenceIndex: number | string) => `trip/${transactionID}/${pnr}/${sequenceIndex}` as const,
},
REPORT_CHANGE_APPROVER: {
path: 'change-approver',
entryScreens: [SCREENS.REPORT, SCREENS.RIGHT_MODAL.SEARCH_REPORT, SCREENS.RIGHT_MODAL.EXPENSE_REPORT, SCREENS.RIGHT_MODAL.SEARCH_MONEY_REQUEST_REPORT],
Expand Down Expand Up @@ -3269,41 +3293,6 @@ const ROUTES = {
},
},
TRACK_TRAINING_MODAL: 'track-training',
TRAVEL_TRIP_SUMMARY: {
route: 'r/:reportID/trip/:transactionID',
getRoute: (reportID: string | undefined, transactionID: string | undefined, backTo?: string) => {
if (!reportID || !transactionID) {
Log.warn('Invalid reportID or transactionID is used to build the TRAVEL_TRIP_SUMMARY route');
}

return getUrlWithBackToParam(`r/${reportID}/trip/${transactionID}`, backTo);
},
},
TRAVEL_TRIP_DETAILS: {
route: 'r/:reportID/trip/:transactionID/:pnr/:sequenceIndex',
getRoute: (reportID: string | undefined, transactionID: string | undefined, pnr: string | undefined, sequenceIndex: number, backTo?: string) => {
if (!reportID || !transactionID || !pnr) {
Log.warn('Invalid reportID, transactionID or pnr is used to build the TRAVEL_TRIP_DETAILS route');
}

return getUrlWithBackToParam(`r/${reportID}/trip/${transactionID}/${pnr}/${sequenceIndex}`, backTo);
},
},
TRAVEL_WORKSPACE_CONFIRMATION: {
route: 'travel/upgrade/workspace/confirmation',

getRoute: (backTo?: string) => getUrlWithBackToParam(`travel/upgrade/workspace/confirmation`, backTo),
},
TRAVEL_WORKSPACE_ADDRESS: {
route: 'travel/:domain/workspace-address',

getRoute: (domain: string, policyID?: string, backTo?: string) => getUrlWithBackToParam(`travel/${domain}/workspace-address?${policyID ? `policyID=${policyID}` : ''}`, backTo),
},
TRAVEL_VERIFY_ACCOUNT: {
route: `travel/${VERIFY_ACCOUNT}`,

getRoute: (domain?: string, policyID?: string, backTo?: string) => getUrlWithBackToParam(getUrlWithParams(`travel/${VERIFY_ACCOUNT}`, {domain, policyID}), backTo),
},
ONBOARDING_ROOT: {
route: 'onboarding',

Expand Down
10 changes: 5 additions & 5 deletions src/SCREENS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,14 @@ const SCREENS = {
DYNAMIC_TCS: 'Dynamic_Travel_TCS',
DYNAMIC_UPGRADE: 'Dynamic_Travel_Upgrade',
DYNAMIC_DOMAIN_PERMISSION_INFO: 'Dynamic_Travel_DomainPermissionInfo',
TRIP_SUMMARY: 'Travel_TripSummary',
TRIP_DETAILS: 'Travel_TripDetails',
DYNAMIC_TRIP_SUMMARY: 'Dynamic_Travel_TripSummary',
DYNAMIC_TRIP_DETAILS: 'Dynamic_Travel_TripDetails',
DYNAMIC_DOMAIN_SELECTOR: 'Dynamic_Travel_DomainSelector',
DYNAMIC_PUBLIC_DOMAIN_ERROR: 'Dynamic_Travel_PublicDomainError',
WORKSPACE_CONFIRMATION: 'Travel_WorkspaceConfirmation',
WORKSPACE_ADDRESS: 'Travel_WorkspaceAddress',
DYNAMIC_WORKSPACE_CONFIRMATION: 'Dynamic_Travel_WorkspaceConfirmation',
DYNAMIC_WORKSPACE_ADDRESS: 'Dynamic_Travel_WorkspaceAddress',
TRAVEL_DOT_LINK_WEB_VIEW: 'Travel_DotLinkWebView',
VERIFY_ACCOUNT: 'Travel_VerifyAccount',
DYNAMIC_VERIFY_ACCOUNT: 'Dynamic_Travel_VerifyAccount',
MISSING_PERSONAL_DETAILS_CONFIRM_MAGIC_CODE: 'Travel_MissingPersonalDetails_ConfirmMagicCode',
},
SEARCH: {
Expand Down
10 changes: 5 additions & 5 deletions src/components/BookTravelButton.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ const navigateToAcceptTerms = (domain: string, isUserValidated?: boolean, policy
Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.TRAVEL_TCS.getRoute(domain, policyID)));
return;
}
Navigation.navigate(ROUTES.TRAVEL_VERIFY_ACCOUNT.getRoute(domain, policyID, Navigation.getActiveRoute()));
Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.TRAVEL_VERIFY_ACCOUNT.getRoute(domain, policyID)));
};

const hasPolicyIDInActiveRoute = () => getSearchParamFromPath(Navigation.getActiveRoute(), CONST.SEARCH.SYNTAX_FILTER_KEYS.POLICY_ID) !== null;
Expand Down Expand Up @@ -164,7 +164,7 @@ function BookTravelButton({
navigateToAcceptTerms(CONST.TRAVEL.DEFAULT_DOMAIN, undefined, activePolicyID ?? undefined);
} else if (!isBetaEnabled(CONST.BETAS.IS_TRAVEL_VERIFIED)) {
if (!isUserValidated) {
Navigation.navigate(ROUTES.TRAVEL_VERIFY_ACCOUNT.getRoute(undefined, activePolicyID, Navigation.getActiveRoute()));
Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.TRAVEL_VERIFY_ACCOUNT.getRoute(CONST.TRAVEL.DEFAULT_DOMAIN, activePolicyID)));
return;
}
if (shouldShowVerifyAccountModal) {
Expand Down Expand Up @@ -194,15 +194,15 @@ function BookTravelButton({
if (!isUserValidated) {
// Determine where to redirect after OTP validation
const nextStep = isEmptyObject(policy?.address)
? ROUTES.TRAVEL_WORKSPACE_ADDRESS.getRoute(domain, activePolicyID, Navigation.getActiveRoute())
? createDynamicRoute(DYNAMIC_ROUTES.TRAVEL_WORKSPACE_ADDRESS.getRoute(domain, activePolicyID))
: createDynamicRoute(DYNAMIC_ROUTES.TRAVEL_TCS.getRoute(domain, activePolicyID));
setTravelProvisioningNextStep(nextStep);
Navigation.navigate(ROUTES.TRAVEL_VERIFY_ACCOUNT.getRoute(domain, activePolicyID, Navigation.getActiveRoute()));
Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.TRAVEL_VERIFY_ACCOUNT.getRoute(domain, activePolicyID)));
return;
}
if (isEmptyObject(policy?.address)) {
// Spotnana requires an address anytime an entity is created for a policy
Navigation.navigate(ROUTES.TRAVEL_WORKSPACE_ADDRESS.getRoute(domain, activePolicyID, Navigation.getActiveRoute()));
Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.TRAVEL_WORKSPACE_ADDRESS.getRoute(domain, activePolicyID)));
} else {
navigateToAcceptTerms(domain, !!isUserValidated, activePolicyID ?? undefined);
}
Expand Down
14 changes: 11 additions & 3 deletions src/components/ReportActionItem/MoneyRequestView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ import DistanceRequestUtils from '@libs/DistanceRequestUtils';
import getNonEmptyStringOnyxID from '@libs/getNonEmptyStringOnyxID';
import {getRateFromMerchant} from '@libs/MergeTransactionUtils';
import {isBillableEnabledOnPolicy, isSingleTransactionReport} from '@libs/MoneyRequestReportUtils';
import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute';
import {hasEnabledOptions} from '@libs/OptionsListUtils';
import Parser from '@libs/Parser';
import {
Expand Down Expand Up @@ -133,7 +134,7 @@ import AnimatedEmptyStateBackground from '@pages/inbox/report/AnimatedEmptyState
import CONST from '@src/CONST';
import type {TranslationPaths} from '@src/languages/types';
import ONYXKEYS from '@src/ONYXKEYS';
import ROUTES from '@src/ROUTES';
import ROUTES, {DYNAMIC_ROUTES} from '@src/ROUTES';
import type * as OnyxTypes from '@src/types/onyx';
import type {TransactionPendingFieldsKey} from '@src/types/onyx/Transaction';
import {isEmptyObject} from '@src/types/utils/EmptyObject';
Expand Down Expand Up @@ -1515,10 +1516,17 @@ function MoneyRequestView({
icon={icons.Suitcase}
onPress={() => {
const reservations = transaction?.receipt?.reservationList?.length ?? 0;
const reportID = transactionThreadReport?.reportID;
if (reservations > 1) {
Navigation.navigate(ROUTES.TRAVEL_TRIP_SUMMARY.getRoute(transactionThreadReport?.reportID, transaction.transactionID, getReportRHPActiveRoute()));
if (!reportID) {
return;
}
Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.TRAVEL_TRIP_SUMMARY.getRoute(transaction.transactionID), ROUTES.REPORT_WITH_ID.getRoute(reportID)));
}
if (!reportID) {
return;
}
Navigation.navigate(ROUTES.TRAVEL_TRIP_DETAILS.getRoute(transactionThreadReport?.reportID, transaction.transactionID, '0', 0, getReportRHPActiveRoute()));
Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.TRAVEL_TRIP_DETAILS.getRoute(transaction.transactionID, '0', 0), ROUTES.REPORT_WITH_ID.getRoute(reportID)));
}}
/>
)}
Expand Down
8 changes: 6 additions & 2 deletions src/components/ReportActionItem/TripDetailsView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@ import useStyleUtils from '@hooks/useStyleUtils';
import useTheme from '@hooks/useTheme';
import useThemeStyles from '@hooks/useThemeStyles';
import DateUtils from '@libs/DateUtils';
import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute';
import Navigation from '@libs/Navigation/Navigation';
import StringUtils from '@libs/StringUtils';
import variables from '@styles/variables';
import CONST from '@src/CONST';
import type {ReservationData} from '@src/libs/TripReservationUtils';
import {formatCancelledDescription, formatTransitLocationLabel, getPNRReservationDataFromTripReport, getTripReservationCode, getTripReservationIcon} from '@src/libs/TripReservationUtils';
import ROUTES from '@src/ROUTES';
import ROUTES, {DYNAMIC_ROUTES} from '@src/ROUTES';
import type {Report} from '@src/types/onyx';
import type {Reservation} from '@src/types/onyx/Transaction';
import type Transaction from '@src/types/onyx/Transaction';
Expand Down Expand Up @@ -166,7 +167,10 @@ function ReservationView({reservation, transactionID, tripRoomReportID, sequence
secondaryIconFill={theme.icon}
onPress={() =>
Navigation.navigate(
ROUTES.TRAVEL_TRIP_DETAILS.getRoute(tripRoomReportID, transactionID, String(reservation.reservationID), sequenceIndex, Navigation.getReportRHPActiveRoute()),
createDynamicRoute(
DYNAMIC_ROUTES.TRAVEL_TRIP_DETAILS.getRoute(transactionID, String(reservation.reservationID), sequenceIndex),
ROUTES.REPORT_WITH_ID.getRoute(tripRoomReportID),
),
)
}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,10 @@ const OPTIONS_PER_SCREEN: Partial<Record<Screen, PlatformStackNavigationOptions>
[SCREENS.SEARCH.TRANSACTIONS_CHANGE_REPORT_SEARCH_RHP]: {
animation: Animations.NONE,
},
[SCREENS.TRAVEL.VERIFY_ACCOUNT]: {
[SCREENS.TRAVEL.DYNAMIC_VERIFY_ACCOUNT]: {
animationTypeForReplace: 'push',
},
[SCREENS.TRAVEL.WORKSPACE_ADDRESS]: {
[SCREENS.TRAVEL.DYNAMIC_WORKSPACE_ADDRESS]: {
animationTypeForReplace: 'push',
},
[SCREENS.MULTIFACTOR_AUTHENTICATION.REVOKE]: {
Expand Down Expand Up @@ -231,14 +231,14 @@ const TravelModalStackNavigator = createModalStackNavigator<TravelNavigatorParam
[SCREENS.TRAVEL.TRAVEL_DOT_LINK_WEB_VIEW]: () => require<ReactComponentModule>('../../../../pages/Travel/TravelDotLinkWebview').default,
[SCREENS.TRAVEL.DYNAMIC_TCS]: () => require<ReactComponentModule>('../../../../pages/Travel/DynamicTravelTerms').default,
[SCREENS.TRAVEL.DYNAMIC_UPGRADE]: () => require<ReactComponentModule>('../../../../pages/Travel/DynamicTravelUpgrade').default,
[SCREENS.TRAVEL.TRIP_SUMMARY]: () => require<ReactComponentModule>('../../../../pages/Travel/TripSummaryPage').default,
[SCREENS.TRAVEL.TRIP_DETAILS]: () => require<ReactComponentModule>('../../../../pages/Travel/TripDetailsPage').default,
[SCREENS.TRAVEL.DYNAMIC_TRIP_SUMMARY]: () => require<ReactComponentModule>('../../../../pages/Travel/DynamicTripSummaryPage').default,
[SCREENS.TRAVEL.DYNAMIC_TRIP_DETAILS]: () => require<ReactComponentModule>('../../../../pages/Travel/DynamicTripDetailsPage').default,
[SCREENS.TRAVEL.DYNAMIC_DOMAIN_SELECTOR]: () => require<ReactComponentModule>('../../../../pages/Travel/DynamicDomainSelectorPage').default,
[SCREENS.TRAVEL.DYNAMIC_DOMAIN_PERMISSION_INFO]: () => require<ReactComponentModule>('../../../../pages/Travel/DynamicDomainPermissionInfoPage').default,
[SCREENS.TRAVEL.DYNAMIC_PUBLIC_DOMAIN_ERROR]: () => require<ReactComponentModule>('../../../../pages/Travel/DynamicPublicDomainErrorPage').default,
[SCREENS.TRAVEL.WORKSPACE_CONFIRMATION]: () => require<ReactComponentModule>('../../../../pages/Travel/WorkspaceConfirmationForTravelPage').default,
[SCREENS.TRAVEL.WORKSPACE_ADDRESS]: () => require<ReactComponentModule>('../../../../pages/Travel/WorkspaceAddressForTravelPage').default,
[SCREENS.TRAVEL.VERIFY_ACCOUNT]: () => require<ReactComponentModule>('../../../../pages/Travel/VerifyAccountPage').default,
[SCREENS.TRAVEL.DYNAMIC_WORKSPACE_CONFIRMATION]: () => require<ReactComponentModule>('../../../../pages/Travel/DynamicWorkspaceConfirmationForTravelPage').default,
[SCREENS.TRAVEL.DYNAMIC_WORKSPACE_ADDRESS]: () => require<ReactComponentModule>('../../../../pages/Travel/DynamicWorkspaceAddressForTravelPage').default,
[SCREENS.TRAVEL.DYNAMIC_VERIFY_ACCOUNT]: () => require<ReactComponentModule>('../../../../pages/Travel/DynamicVerifyAccountPage').default,
});

const SplitDetailsModalStackNavigator = createModalStackNavigator<SplitDetailsNavigatorParamList>({
Expand Down
15 changes: 5 additions & 10 deletions src/libs/Navigation/linkingConfig/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1922,19 +1922,14 @@ const config: LinkingOptions<RootNavigatorParamList>['config'] = {
[SCREENS.TRAVEL.TRAVEL_DOT_LINK_WEB_VIEW]: ROUTES.TRAVEL_DOT_LINK_WEB_VIEW.route,
[SCREENS.TRAVEL.DYNAMIC_UPGRADE]: DYNAMIC_ROUTES.TRAVEL_UPGRADE.path,
[SCREENS.TRAVEL.DYNAMIC_TCS]: DYNAMIC_ROUTES.TRAVEL_TCS.path,
[SCREENS.TRAVEL.TRIP_SUMMARY]: ROUTES.TRAVEL_TRIP_SUMMARY.route,
[SCREENS.TRAVEL.TRIP_DETAILS]: {
path: ROUTES.TRAVEL_TRIP_DETAILS.route,
parse: {
reservationIndex: (reservationIndex: string) => parseInt(reservationIndex, 10),
},
},
[SCREENS.TRAVEL.DYNAMIC_TRIP_SUMMARY]: DYNAMIC_ROUTES.TRAVEL_TRIP_SUMMARY.path,
[SCREENS.TRAVEL.DYNAMIC_TRIP_DETAILS]: DYNAMIC_ROUTES.TRAVEL_TRIP_DETAILS.path,
[SCREENS.TRAVEL.DYNAMIC_DOMAIN_SELECTOR]: DYNAMIC_ROUTES.TRAVEL_DOMAIN_SELECTOR.path,
[SCREENS.TRAVEL.DYNAMIC_DOMAIN_PERMISSION_INFO]: DYNAMIC_ROUTES.TRAVEL_DOMAIN_PERMISSION_INFO.path,
[SCREENS.TRAVEL.DYNAMIC_PUBLIC_DOMAIN_ERROR]: DYNAMIC_ROUTES.TRAVEL_PUBLIC_DOMAIN_ERROR.path,
[SCREENS.TRAVEL.WORKSPACE_CONFIRMATION]: ROUTES.TRAVEL_WORKSPACE_CONFIRMATION.route,
[SCREENS.TRAVEL.WORKSPACE_ADDRESS]: ROUTES.TRAVEL_WORKSPACE_ADDRESS.route,
[SCREENS.TRAVEL.VERIFY_ACCOUNT]: ROUTES.TRAVEL_VERIFY_ACCOUNT.route,
[SCREENS.TRAVEL.DYNAMIC_WORKSPACE_CONFIRMATION]: DYNAMIC_ROUTES.TRAVEL_WORKSPACE_CONFIRMATION.path,
[SCREENS.TRAVEL.DYNAMIC_WORKSPACE_ADDRESS]: DYNAMIC_ROUTES.TRAVEL_WORKSPACE_ADDRESS.path,
[SCREENS.TRAVEL.DYNAMIC_VERIFY_ACCOUNT]: DYNAMIC_ROUTES.TRAVEL_VERIFY_ACCOUNT.path,
},
},
[SCREENS.RIGHT_MODAL.SEARCH_COLUMNS]: {
Expand Down
Loading
Loading