@@ -20,13 +20,12 @@ import useOnyx from '@hooks/useOnyx';
2020import usePermissions from '@hooks/usePermissions' ;
2121import useStyleUtils from '@hooks/useStyleUtils' ;
2222import useThemeStyles from '@hooks/useThemeStyles' ;
23- import { buildTravelDotURL } from '@libs/actions/Link' ;
2423import { addComment } from '@libs/actions/Report' ;
2524import { acceptSpotnanaTerms , cleanupTravelProvisioningSession } from '@libs/actions/Travel' ;
26- import asyncOpenURL from '@libs/asyncOpenURL' ;
2725import { getLatestErrorMessage } from '@libs/ErrorUtils' ;
2826import Navigation from '@libs/Navigation/Navigation' ;
2927import type { TravelNavigatorParamList } from '@libs/Navigation/types' ;
28+ import { openTravelDotLink } from '@libs/openTravelDotLink' ;
3029import colors from '@styles/theme/colors' ;
3130import CONFIG from '@src/CONFIG' ;
3231import CONST from '@src/CONST' ;
@@ -78,8 +77,8 @@ function TravelTerms({route}: TravelTermsPageProps) {
7877 } ;
7978
8079 const acceptTermsAndOpenTravelDot = ( ) => {
81- asyncOpenURL (
82- acceptSpotnanaTerms ( domain , policyID ) . then ( ( response ) => {
80+ acceptSpotnanaTerms ( domain , policyID )
81+ . then ( ( response ) => {
8382 // Extract the error code from onyxData - the backend sets errors in TRAVEL_PROVISIONING via onyxData
8483 const travelProvisioningData = response ?. onyxData ?. find ( ( data ) => data . key === ONYXKEYS . TRAVEL_PROVISIONING ) ;
8584 const errorCode = ( travelProvisioningData ?. value as Partial < TravelProvisioning > | undefined ) ?. error ;
@@ -120,18 +119,19 @@ function TravelTerms({route}: TravelTermsPageProps) {
120119 return Promise . reject ( new Error ( 'Request failed' ) ) ;
121120 }
122121
123- // Handle success - build URL, cleanup, and return URL for asyncOpenURL to open
122+ // Handle success - open travel in-app webview on native, or in browser on web
124123 if ( response ?. spotnanaToken ) {
125- const travelDotURL = buildTravelDotURL ( response . spotnanaToken , response . isTestAccount ?? false ) ;
126124 Navigation . closeRHPFlow ( ) ;
127125 cleanupTravelProvisioningSession ( ) ;
128- return travelDotURL ;
126+ openTravelDotLink ( policyID , undefined , response . spotnanaToken , response . isTestAccount ?? false ) ;
127+ return ;
129128 }
130129
131130 return Promise . reject ( new Error ( 'No token received' ) ) ;
132- } ) ,
133- ( travelDotURL ) => travelDotURL ?? '' ,
134- ) ;
131+ } )
132+ . catch ( ( ) => {
133+ // Errors are surfaced via TRAVEL_PROVISIONING in Onyx
134+ } ) ;
135135 } ;
136136
137137 return (
0 commit comments