diff --git a/src/pages/workspace/WorkspacePageWithSections.tsx b/src/pages/workspace/WorkspacePageWithSections.tsx
index 70198f38f18c..7fb56cada0cd 100644
--- a/src/pages/workspace/WorkspacePageWithSections.tsx
+++ b/src/pages/workspace/WorkspacePageWithSections.tsx
@@ -21,7 +21,6 @@ import type {Route} from '@src/ROUTES';
import ROUTES from '@src/ROUTES';
import type {Policy, ReimbursementAccount, User} from '@src/types/onyx';
import {isEmptyObject} from '@src/types/utils/EmptyObject';
-import type {PolicyRoute} from './withPolicy';
import type {WithPolicyAndFullscreenLoadingProps} from './withPolicyAndFullscreenLoading';
import withPolicyAndFullscreenLoading from './withPolicyAndFullscreenLoading';
@@ -41,9 +40,6 @@ type WorkspacePageWithSectionsProps = WithPolicyAndFullscreenLoadingProps &
/** The text to display in the header */
headerText: string;
- /** The route object passed to this page from the navigator */
- route: PolicyRoute;
-
/** Main content of the page */
children: (hasVBA: boolean, policyID: string, isUsingECard: boolean) => ReactNode;
diff --git a/src/pages/workspace/travel/WorkspaceTravelNoVBAView.js b/src/pages/workspace/travel/WorkspaceTravelNoVBAView.js
deleted file mode 100644
index f6892f108b52..000000000000
--- a/src/pages/workspace/travel/WorkspaceTravelNoVBAView.js
+++ /dev/null
@@ -1,42 +0,0 @@
-import PropTypes from 'prop-types';
-import React from 'react';
-import {View} from 'react-native';
-import ConnectBankAccountButton from '@components/ConnectBankAccountButton';
-import * as Illustrations from '@components/Icon/Illustrations';
-import Section from '@components/Section';
-import Text from '@components/Text';
-import withLocalize, {withLocalizePropTypes} from '@components/withLocalize';
-import useThemeStyles from '@hooks/useThemeStyles';
-
-const propTypes = {
- /** The policy ID currently being configured */
- policyID: PropTypes.string.isRequired,
-
- ...withLocalizePropTypes,
-};
-
-function WorkspaceTravelNoVBAView(props) {
- const styles = useThemeStyles();
- return (
- <>
-
-
- {props.translate('workspace.travel.noVBACopy')}
-
-
-
- >
- );
-}
-
-WorkspaceTravelNoVBAView.propTypes = propTypes;
-WorkspaceTravelNoVBAView.displayName = 'WorkspaceTravelNoVBAView';
-
-export default withLocalize(WorkspaceTravelNoVBAView);
diff --git a/src/pages/workspace/travel/WorkspaceTravelNoVBAView.tsx b/src/pages/workspace/travel/WorkspaceTravelNoVBAView.tsx
new file mode 100644
index 000000000000..e49c328ce4b5
--- /dev/null
+++ b/src/pages/workspace/travel/WorkspaceTravelNoVBAView.tsx
@@ -0,0 +1,38 @@
+import React from 'react';
+import {View} from 'react-native';
+import ConnectBankAccountButton from '@components/ConnectBankAccountButton';
+import * as Illustrations from '@components/Icon/Illustrations';
+import Section from '@components/Section';
+import Text from '@components/Text';
+import useLocalize from '@hooks/useLocalize';
+import useThemeStyles from '@hooks/useThemeStyles';
+
+type WorkspaceTravelNoVBAViewProps = {
+ /** The policy ID currently being configured */
+ policyID: string;
+};
+
+function WorkspaceTravelNoVBAView({policyID}: WorkspaceTravelNoVBAViewProps) {
+ const styles = useThemeStyles();
+ const {translate} = useLocalize();
+
+ return (
+
+
+ {translate('workspace.travel.noVBACopy')}
+
+
+
+ );
+}
+
+WorkspaceTravelNoVBAView.displayName = 'WorkspaceTravelNoVBAView';
+
+export default WorkspaceTravelNoVBAView;
diff --git a/src/pages/workspace/travel/WorkspaceTravelPage.js b/src/pages/workspace/travel/WorkspaceTravelPage.tsx
similarity index 61%
rename from src/pages/workspace/travel/WorkspaceTravelPage.js
rename to src/pages/workspace/travel/WorkspaceTravelPage.tsx
index bcb299fdc2a0..88dfe5254fcf 100644
--- a/src/pages/workspace/travel/WorkspaceTravelPage.js
+++ b/src/pages/workspace/travel/WorkspaceTravelPage.tsx
@@ -1,36 +1,28 @@
-import PropTypes from 'prop-types';
+import type {StackScreenProps} from '@react-navigation/stack';
import React from 'react';
import {View} from 'react-native';
-import withLocalize, {withLocalizePropTypes} from '@components/withLocalize';
+import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import useWindowDimensions from '@hooks/useWindowDimensions';
+import type {CentralPaneNavigatorParamList} from '@libs/Navigation/types';
import WorkspacePageWithSections from '@pages/workspace/WorkspacePageWithSections';
import CONST from '@src/CONST';
+import type SCREENS from '@src/SCREENS';
import WorkspaceTravelNoVBAView from './WorkspaceTravelNoVBAView';
import WorkspaceTravelVBAView from './WorkspaceTravelVBAView';
-const propTypes = {
- /** The route object passed to this page from the navigator */
- route: PropTypes.shape({
- /** Each parameter passed via the URL */
- params: PropTypes.shape({
- /** The policyID that is being configured */
- policyID: PropTypes.string.isRequired,
- }).isRequired,
- }).isRequired,
+type WorkspaceTravelPageProps = StackScreenProps;
- ...withLocalizePropTypes,
-};
-
-function WorkspaceTravelPage(props) {
+function WorkspaceTravelPage({route}: WorkspaceTravelPageProps) {
+ const {translate} = useLocalize();
const styles = useThemeStyles();
const {isSmallScreenWidth} = useWindowDimensions();
return (
@@ -44,7 +36,6 @@ function WorkspaceTravelPage(props) {
);
}
-WorkspaceTravelPage.propTypes = propTypes;
WorkspaceTravelPage.displayName = 'WorkspaceTravelPage';
-export default withLocalize(WorkspaceTravelPage);
+export default WorkspaceTravelPage;
diff --git a/src/pages/workspace/travel/WorkspaceTravelVBAView.js b/src/pages/workspace/travel/WorkspaceTravelVBAView.tsx
similarity index 65%
rename from src/pages/workspace/travel/WorkspaceTravelVBAView.js
rename to src/pages/workspace/travel/WorkspaceTravelVBAView.tsx
index 499d9f55fbe0..ae4002e14d4b 100644
--- a/src/pages/workspace/travel/WorkspaceTravelVBAView.js
+++ b/src/pages/workspace/travel/WorkspaceTravelVBAView.tsx
@@ -4,61 +4,58 @@ import * as Expensicons from '@components/Icon/Expensicons';
import * as Illustrations from '@components/Icon/Illustrations';
import Section from '@components/Section';
import Text from '@components/Text';
-import withLocalize, {withLocalizePropTypes} from '@components/withLocalize';
+import useLocalize from '@hooks/useLocalize';
import useThemeStyles from '@hooks/useThemeStyles';
import * as Link from '@userActions/Link';
import * as Report from '@userActions/Report';
import CONST from '@src/CONST';
-const propTypes = {
- ...withLocalizePropTypes,
-};
-
-function WorkspaceTravelVBAView(props) {
+function WorkspaceTravelVBAView() {
const styles = useThemeStyles();
+ const {translate} = useLocalize();
+
return (
Link.openOldDotLink('domain_companycards'),
icon: Expensicons.ExpensifyCard,
shouldShowRightIcon: true,
iconRight: Expensicons.NewWindow,
- wrapperStyle: [styles.cardMenuItem],
+ wrapperStyle: styles.cardMenuItem,
link: () => Link.buildOldDotURL('domain_companycards'),
},
{
- title: props.translate('workspace.travel.bookTravelWithConcierge'),
+ title: translate('workspace.travel.bookTravelWithConcierge'),
onPress: () => {
Report.navigateToConciergeChat();
},
icon: Expensicons.Concierge,
shouldShowRightIcon: true,
- wrapperStyle: [styles.cardMenuItem],
+ wrapperStyle: styles.cardMenuItem,
},
{
- title: props.translate('requestorStep.learnMore'),
+ title: translate('requestorStep.learnMore'),
onPress: () => Link.openExternalLink(CONST.CONCIERGE_TRAVEL_URL),
icon: Expensicons.Info,
shouldShowRightIcon: true,
iconRight: Expensicons.NewWindow,
- wrapperStyle: [styles.cardMenuItem],
+ wrapperStyle: styles.cardMenuItem,
link: CONST.CONCIERGE_TRAVEL_URL,
},
]}
>
-
- {props.translate('workspace.travel.VBACopy')}
+
+ {translate('workspace.travel.VBACopy')}
);
}
-WorkspaceTravelVBAView.propTypes = propTypes;
WorkspaceTravelVBAView.displayName = 'WorkspaceTravelVBAView';
-export default withLocalize(WorkspaceTravelVBAView);
+export default WorkspaceTravelVBAView;