11import React , { useCallback , useEffect } from 'react' ;
22import type { ReactNode } from 'react' ;
3- import { withOnyx } from 'react-native-onyx' ;
43import type { OnyxEntry } from 'react-native-onyx' ;
54import useNetwork from '@hooks/useNetwork' ;
5+ import useOnyx from '@hooks/useOnyx' ;
66import useStyleUtils from '@hooks/useStyleUtils' ;
77import useTheme from '@hooks/useTheme' ;
88import useThemeStyles from '@hooks/useThemeStyles' ;
9- import * as TransactionUtils from '@libs/TransactionUtils' ;
10- import * as MapboxToken from '@userActions/MapboxToken' ;
9+ import { getWaypointIndex } from '@libs/TransactionUtils' ;
10+ import { init as initMapboxToken , stop as stopMapboxToken } from '@userActions/MapboxToken' ;
1111import CONST from '@src/CONST' ;
1212import ONYXKEYS from '@src/ONYXKEYS' ;
13- import type { MapboxAccessToken , Transaction } from '@src/types/onyx' ;
13+ import type { Transaction } from '@src/types/onyx' ;
1414import type { WaypointCollection } from '@src/types/onyx/Transaction' ;
1515import type IconAsset from '@src/types/utils/IconAsset' ;
1616import DistanceMapView from './DistanceMapView' ;
@@ -19,12 +19,7 @@ import ImageSVG from './ImageSVG';
1919import type { WayPoint } from './MapView/MapViewTypes' ;
2020import PendingMapView from './MapView/PendingMapView' ;
2121
22- type ConfirmedRoutePropsOnyxProps = {
23- /** Data about Mapbox token for calling Mapbox API */
24- mapboxAccessToken : OnyxEntry < MapboxAccessToken > ;
25- } ;
26-
27- type ConfirmedRouteProps = ConfirmedRoutePropsOnyxProps & {
22+ type ConfirmedRouteProps = {
2823 /** Transaction that stores the distance expense data */
2924 transaction : OnyxEntry < Transaction > ;
3025
@@ -42,7 +37,7 @@ type ConfirmedRouteProps = ConfirmedRoutePropsOnyxProps & {
4237 interactive ?: boolean ;
4338} ;
4439
45- function ConfirmedRoute ( { mapboxAccessToken , transaction, isSmallerIcon, shouldHaveBorderRadius = true , requireRouteToDisplayMap = false , interactive} : ConfirmedRouteProps ) {
40+ function ConfirmedRoute ( { transaction, isSmallerIcon, shouldHaveBorderRadius = true , requireRouteToDisplayMap = false , interactive} : ConfirmedRouteProps ) {
4641 const { isOffline} = useNetwork ( ) ;
4742 const { route0 : route } = transaction ?. routes ?? { } ;
4843 const waypoints = transaction ?. comment ?. waypoints ?? { } ;
@@ -51,6 +46,8 @@ function ConfirmedRoute({mapboxAccessToken, transaction, isSmallerIcon, shouldHa
5146 const styles = useThemeStyles ( ) ;
5247 const StyleUtils = useStyleUtils ( ) ;
5348
49+ const [ mapboxAccessToken ] = useOnyx ( ONYXKEYS . MAPBOX_ACCESS_TOKEN , { canBeMissing : true } ) ;
50+
5451 const getMarkerComponent = useCallback (
5552 ( icon : IconAsset ) : ReactNode => (
5653 < ImageSVG
@@ -74,7 +71,7 @@ function ConfirmedRoute({mapboxAccessToken, transaction, isSmallerIcon, shouldHa
7471 return ;
7572 }
7673
77- const index = TransactionUtils . getWaypointIndex ( key ) ;
74+ const index = getWaypointIndex ( key ) ;
7875 let MarkerComponent : IconAsset ;
7976 if ( index === 0 ) {
8077 MarkerComponent = Expensicons . DotIndicatorUnfilled ;
@@ -98,8 +95,8 @@ function ConfirmedRoute({mapboxAccessToken, transaction, isSmallerIcon, shouldHa
9895 const waypointMarkers = getWaypointMarkers ( waypoints ) ;
9996
10097 useEffect ( ( ) => {
101- MapboxToken . init ( ) ;
102- return MapboxToken . stop ;
98+ initMapboxToken ( ) ;
99+ return stopMapboxToken ;
103100 } , [ ] ) ;
104101
105102 const shouldDisplayMap = ! requireRouteToDisplayMap || ! ! coordinates . length ;
@@ -128,10 +125,6 @@ function ConfirmedRoute({mapboxAccessToken, transaction, isSmallerIcon, shouldHa
128125 ) ;
129126}
130127
131- export default withOnyx < ConfirmedRouteProps , ConfirmedRoutePropsOnyxProps > ( {
132- mapboxAccessToken : {
133- key : ONYXKEYS . MAPBOX_ACCESS_TOKEN ,
134- } ,
135- } ) ( ConfirmedRoute ) ;
136-
137128ConfirmedRoute . displayName = 'ConfirmedRoute' ;
129+
130+ export default ConfirmedRoute ;
0 commit comments