diff --git a/src/components/FeatureList.tsx b/src/components/FeatureList.tsx index 30c72d467073..fe209e90eb70 100644 --- a/src/components/FeatureList.tsx +++ b/src/components/FeatureList.tsx @@ -133,6 +133,7 @@ function FeatureList({ )} {ctaErrorMessage && ( diff --git a/src/languages/en.ts b/src/languages/en.ts index 51f20db2c06b..b54728caf046 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -2112,6 +2112,7 @@ export default { tripSummary: 'Trip summary', departs: 'Departs', errorMessage: 'Something went wrong. Please try again later.', + phoneError: 'To book travel, your default contact method must be a valid email', }, workspace: { common: { diff --git a/src/languages/es.ts b/src/languages/es.ts index e55167e2cf2a..1bbd87a9edaa 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -2143,6 +2143,7 @@ export default { tripSummary: 'Resumen del viaje', departs: 'Sale', errorMessage: 'Ha ocurrido un error. Por favor, inténtalo mas tarde.', + phoneError: 'Para reservar viajes, tu método de contacto predeterminado debe ser un correo electrónico válido', }, workspace: { common: { diff --git a/src/pages/Travel/ManageTrips.tsx b/src/pages/Travel/ManageTrips.tsx index c61166f10c6d..e5aa5527cef7 100644 --- a/src/pages/Travel/ManageTrips.tsx +++ b/src/pages/Travel/ManageTrips.tsx @@ -1,3 +1,4 @@ +import {Str} from 'expensify-common'; import React, {useState} from 'react'; import {Linking, View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -35,6 +36,7 @@ function ManageTrips() { const {translate} = useLocalize(); const [travelSettings] = useOnyx(ONYXKEYS.NVP_TRAVEL_SETTINGS); const [activePolicyID] = useOnyx(ONYXKEYS.NVP_ACTIVE_POLICY_ID); + const [account] = useOnyx(ONYXKEYS.ACCOUNT); const policy = usePolicy(activePolicyID); const [ctaErrorMessage, setCtaErrorMessage] = useState(''); @@ -60,6 +62,10 @@ function ManageTrips() { ctaText={translate('travel.bookTravel')} ctaAccessibilityLabel={translate('travel.bookTravel')} onCtaPress={() => { + if (Str.isSMSLogin(account?.primaryLogin ?? '')) { + setCtaErrorMessage(translate('travel.phoneError')); + return; + } if (!hasPolicyAddress) { Navigation.navigate(ROUTES.WORKSPACE_PROFILE_ADDRESS.getRoute(activePolicyID ?? '-1')); return;