@@ -13,13 +13,15 @@ import useLocalize from '@hooks/useLocalize';
1313import useStyleUtils from '@hooks/useStyleUtils' ;
1414import useTheme from '@hooks/useTheme' ;
1515import useThemeStyles from '@hooks/useThemeStyles' ;
16+ import useTripTransactions from '@hooks/useTripTransactions' ;
1617import ControlSelection from '@libs/ControlSelection' ;
17- import * as CurrencyUtils from '@libs/CurrencyUtils' ;
18+ import { convertToDisplayString } from '@libs/CurrencyUtils' ;
1819import DateUtils from '@libs/DateUtils' ;
19- import * as DeviceCapabilities from '@libs/DeviceCapabilities' ;
20+ import { canUseTouchScreen } from '@libs/DeviceCapabilities' ;
2021import Navigation from '@libs/Navigation/Navigation' ;
21- import * as ReportUtils from '@libs/ReportUtils' ;
22- import * as TripReservationUtils from '@libs/TripReservationUtils' ;
22+ import { getMoneyRequestSpendBreakdown } from '@libs/ReportUtils' ;
23+ import type { ReservationData } from '@libs/TripReservationUtils' ;
24+ import { getReservationsFromTripTransactions , getTripReservationIcon } from '@libs/TripReservationUtils' ;
2325import type { ContextMenuAnchor } from '@pages/home/report/ContextMenu/ReportActionContextMenu' ;
2426import variables from '@styles/variables' ;
2527import * as Expensicons from '@src/components/Icon/Expensicons' ;
@@ -59,7 +61,7 @@ function ReservationView({reservation}: ReservationViewProps) {
5961 const StyleUtils = useStyleUtils ( ) ;
6062 const { translate} = useLocalize ( ) ;
6163
62- const reservationIcon = TripReservationUtils . getTripReservationIcon ( reservation . type ) ;
64+ const reservationIcon = getTripReservationIcon ( reservation . type ) ;
6365 const title = reservation . type === CONST . RESERVATION_TYPE . CAR ? reservation . carInfo ?. name : reservation . start . longName ;
6466
6567 let titleComponent = (
@@ -109,27 +111,27 @@ function ReservationView({reservation}: ReservationViewProps) {
109111 ) ;
110112}
111113
112- const renderItem = ( { item} : { item : TripReservationUtils . ReservationData } ) => < ReservationView reservation = { item . reservation } /> ;
114+ const renderItem = ( { item} : { item : ReservationData } ) => < ReservationView reservation = { item . reservation } /> ;
113115
114116function TripRoomPreview ( { action, chatReportID, containerStyles, contextMenuAnchor, isHovered = false , checkIfContextMenuActive = ( ) => { } } : TripRoomPreviewProps ) {
115117 const styles = useThemeStyles ( ) ;
116118 const { translate} = useLocalize ( ) ;
117119 const [ chatReport ] = useOnyx ( `${ ONYXKEYS . COLLECTION . REPORT } ${ chatReportID } ` ) ;
118120 const [ iouReport ] = useOnyx ( `${ ONYXKEYS . COLLECTION . REPORT } ${ chatReport ?. iouReportID } ` ) ;
121+ const tripTransactions = useTripTransactions ( chatReportID ) ;
119122
120- const tripTransactions = ReportUtils . getTripTransactions ( chatReport ?. reportID ) ;
121- const reservationsData : TripReservationUtils . ReservationData [ ] = TripReservationUtils . getReservationsFromTripTransactions ( tripTransactions ) ;
123+ const reservationsData : ReservationData [ ] = getReservationsFromTripTransactions ( tripTransactions ) ;
122124 const dateInfo = chatReport ?. tripData ? DateUtils . getFormattedDateRange ( new Date ( chatReport . tripData . startDate ) , new Date ( chatReport . tripData . endDate ) ) : '' ;
123- const { totalDisplaySpend} = ReportUtils . getMoneyRequestSpendBreakdown ( chatReport ) ;
125+ const { totalDisplaySpend} = getMoneyRequestSpendBreakdown ( chatReport ) ;
124126
125127 const currency = iouReport ?. currency ?? chatReport ?. currency ;
126128 const displayAmount = useMemo ( ( ) => {
127129 if ( totalDisplaySpend ) {
128- return CurrencyUtils . convertToDisplayString ( totalDisplaySpend , currency ) ;
130+ return convertToDisplayString ( totalDisplaySpend , currency ) ;
129131 }
130132
131- return CurrencyUtils . convertToDisplayString (
132- tripTransactions . reduce ( ( acc , transaction ) => acc + Math . abs ( transaction . amount ) , 0 ) ,
133+ return convertToDisplayString (
134+ tripTransactions ? .reduce ( ( acc , transaction ) => acc + Math . abs ( transaction . amount ) , 0 ) ,
133135 currency ,
134136 ) ;
135137 } , [ currency , totalDisplaySpend , tripTransactions ] ) ;
@@ -142,7 +144,7 @@ function TripRoomPreview({action, chatReportID, containerStyles, contextMenuAnch
142144 >
143145 < View style = { [ styles . chatItemMessage , containerStyles ] } >
144146 < PressableWithoutFeedback
145- onPressIn = { ( ) => DeviceCapabilities . canUseTouchScreen ( ) && ControlSelection . block ( ) }
147+ onPressIn = { ( ) => canUseTouchScreen ( ) && ControlSelection . block ( ) }
146148 onPressOut = { ( ) => ControlSelection . unblock ( ) }
147149 onLongPress = { ( event ) => showContextMenuForReport ( event , contextMenuAnchor , chatReportID , action , checkIfContextMenuActive ) }
148150 shouldUseHapticsOnLongPress
0 commit comments