Skip to content

Commit 0fa3b40

Browse files
authored
Merge pull request Expensify#64769 from Expensify/revert-63853-parasharrajat/travel-update
[CP Staging] Revert "Use tripdata payload to get reservations setup"
2 parents 555d227 + e39e5a6 commit 0fa3b40

15 files changed

Lines changed: 42 additions & 2733 deletions

File tree

cspell.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -681,8 +681,7 @@
681681
"zoneinfo",
682682
"zxcv",
683683
"zxldvw",
684-
"مثال",
685-
"pnrs"
684+
"مثال"
686685
],
687686
"ignorePaths": [
688687
"src/languages/de.ts",

src/ROUTES.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1961,12 +1961,12 @@ const ROUTES = {
19611961
},
19621962
},
19631963
TRAVEL_TRIP_DETAILS: {
1964-
route: 'r/:reportID/trip/:transactionID/:pnr/:sequenceIndex',
1965-
getRoute: (reportID: string | undefined, transactionID: string | undefined, pnr: string | undefined, sequenceIndex: number, backTo?: string) => {
1966-
if (!reportID || !transactionID || !pnr) {
1967-
Log.warn('Invalid reportID, transactionID or pnr is used to build the TRAVEL_TRIP_DETAILS route');
1964+
route: 'r/:reportID/trip/:transactionID/:reservationIndex',
1965+
getRoute: (reportID: string | undefined, transactionID: string | undefined, reservationIndex: number, backTo?: string) => {
1966+
if (!reportID || !transactionID) {
1967+
Log.warn('Invalid reportID or transactionID is used to build the TRAVEL_TRIP_DETAILS route');
19681968
}
1969-
return getUrlWithBackToParam(`r/${reportID}/trip/${transactionID}/${pnr}/${sequenceIndex}`, backTo);
1969+
return getUrlWithBackToParam(`r/${reportID}/trip/${transactionID}/${reservationIndex}`, backTo);
19701970
},
19711971
},
19721972
TRAVEL_DOMAIN_SELECTOR: {

src/components/ReportActionItem/MoneyRequestView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -869,7 +869,7 @@ function MoneyRequestView({report, shouldShowAnimatedBackground, readonly = fals
869869
if (reservations > 1) {
870870
Navigation.navigate(ROUTES.TRAVEL_TRIP_SUMMARY.getRoute(report.reportID, transaction.transactionID, getReportRHPActiveRoute()));
871871
}
872-
Navigation.navigate(ROUTES.TRAVEL_TRIP_DETAILS.getRoute(report.reportID, transaction.transactionID, '0', 0, getReportRHPActiveRoute()));
872+
Navigation.navigate(ROUTES.TRAVEL_TRIP_DETAILS.getRoute(report.reportID, transaction.transactionID, 0, getReportRHPActiveRoute()));
873873
}}
874874
/>
875875
)}

src/components/ReportActionItem/TripDetailsView.tsx

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import {Str} from 'expensify-common';
22
import React, {useMemo} from 'react';
33
import {View} from 'react-native';
4-
import type {OnyxEntry} from 'react-native-onyx';
54
import Icon from '@components/Icon';
65
import MenuItemWithTopDescription from '@components/MenuItemWithTopDescription';
76
import OfflineWithFeedback from '@components/OfflineWithFeedback';
@@ -19,20 +18,19 @@ import variables from '@styles/variables';
1918
import * as Expensicons from '@src/components/Icon/Expensicons';
2019
import CONST from '@src/CONST';
2120
import type {ReservationData} from '@src/libs/TripReservationUtils';
22-
import {getReservationsFromTripReport, getTripReservationCode, getTripReservationIcon} from '@src/libs/TripReservationUtils';
21+
import {getReservationsFromTripTransactions, getTripReservationCode, getTripReservationIcon} from '@src/libs/TripReservationUtils';
2322
import ROUTES from '@src/ROUTES';
24-
import type {Report} from '@src/types/onyx';
2523
import type {Reservation, ReservationTimeDetails} from '@src/types/onyx/Transaction';
2624
import type Transaction from '@src/types/onyx/Transaction';
2725

2826
type ReservationViewProps = {
2927
reservation: Reservation;
3028
transactionID: string;
3129
tripRoomReportID: string;
32-
sequenceIndex: number;
30+
reservationIndex: number;
3331
};
3432

35-
function ReservationView({reservation, transactionID, tripRoomReportID, sequenceIndex}: ReservationViewProps) {
33+
function ReservationView({reservation, transactionID, tripRoomReportID, reservationIndex}: ReservationViewProps) {
3634
const theme = useTheme();
3735
const styles = useThemeStyles();
3836
const StyleUtils = useStyleUtils();
@@ -141,18 +139,14 @@ function ReservationView({reservation, transactionID, tripRoomReportID, sequence
141139
iconWidth={20}
142140
iconStyles={[StyleUtils.getTripReservationIconContainer(false), styles.mr3]}
143141
secondaryIconFill={theme.icon}
144-
onPress={() =>
145-
Navigation.navigate(
146-
ROUTES.TRAVEL_TRIP_DETAILS.getRoute(tripRoomReportID, transactionID, String(reservation.reservationID), sequenceIndex, Navigation.getReportRHPActiveRoute()),
147-
)
148-
}
142+
onPress={() => Navigation.navigate(ROUTES.TRAVEL_TRIP_DETAILS.getRoute(tripRoomReportID, transactionID, reservationIndex, Navigation.getReportRHPActiveRoute()))}
149143
/>
150144
);
151145
}
152146

153147
type TripDetailsViewProps = {
154148
/** The active tripRoomReportID, used for Onyx subscription */
155-
tripRoomReport: OnyxEntry<Report>;
149+
tripRoomReportID: string;
156150

157151
/** Whether we should display the horizontal rule below the component */
158152
shouldShowHorizontalRule: boolean;
@@ -161,15 +155,11 @@ type TripDetailsViewProps = {
161155
tripTransactions: Transaction[];
162156
};
163157

164-
function TripDetailsView({tripRoomReport, shouldShowHorizontalRule, tripTransactions}: TripDetailsViewProps) {
158+
function TripDetailsView({tripRoomReportID, shouldShowHorizontalRule, tripTransactions}: TripDetailsViewProps) {
165159
const styles = useThemeStyles();
166160
const {translate} = useLocalize();
167161

168-
if (!tripRoomReport) {
169-
return null;
170-
}
171-
172-
const reservationsData: ReservationData[] = getReservationsFromTripReport(tripRoomReport, tripTransactions);
162+
const reservationsData: ReservationData[] = getReservationsFromTripTransactions(tripTransactions);
173163

174164
return (
175165
<View>
@@ -184,14 +174,14 @@ function TripDetailsView({tripRoomReport, shouldShowHorizontalRule, tripTransact
184174
</View>
185175
</View>
186176
<>
187-
{reservationsData.map(({reservation, transactionID, sequenceIndex}) => {
177+
{reservationsData.map(({reservation, transactionID, reservationIndex}) => {
188178
return (
189179
<OfflineWithFeedback>
190180
<ReservationView
191181
reservation={reservation}
192182
transactionID={transactionID}
193-
tripRoomReportID={tripRoomReport.reportID}
194-
sequenceIndex={sequenceIndex}
183+
tripRoomReportID={tripRoomReportID}
184+
reservationIndex={reservationIndex}
195185
/>
196186
</OfflineWithFeedback>
197187
);

src/components/ReportActionItem/TripRoomPreview.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ import {convertToDisplayString} from '@libs/CurrencyUtils';
2020
import DateUtils from '@libs/DateUtils';
2121
import {canUseTouchScreen} from '@libs/DeviceCapabilities';
2222
import Navigation from '@libs/Navigation/Navigation';
23+
import {getMoneyRequestSpendBreakdown} from '@libs/ReportUtils';
2324
import type {ReservationData} from '@libs/TripReservationUtils';
24-
import {getReservationsFromTripReport, getTripReservationIcon, getTripTotal} from '@libs/TripReservationUtils';
25+
import {getReservationsFromTripTransactions, getTripReservationIcon} from '@libs/TripReservationUtils';
2526
import type {ContextMenuAnchor} from '@pages/home/report/ContextMenu/ReportActionContextMenu';
2627
import variables from '@styles/variables';
2728
import * as Expensicons from '@src/components/Icon/Expensicons';
@@ -153,15 +154,14 @@ function TripRoomPreview({
153154
const chatReportID = chatReport?.reportID;
154155
const tripTransactions = useTripTransactions(chatReportID);
155156

156-
const reservationsData: ReservationData[] = getReservationsFromTripReport(chatReport, tripTransactions);
157+
const reservationsData: ReservationData[] = getReservationsFromTripTransactions(tripTransactions);
157158
const dateInfo =
158159
chatReport?.tripData?.startDate && chatReport?.tripData?.endDate
159160
? DateUtils.getFormattedDateRange(new Date(chatReport.tripData.startDate), new Date(chatReport.tripData.endDate))
160161
: '';
161-
const reportCurrency = iouReport?.currency ?? chatReport?.currency;
162-
163-
const {totalDisplaySpend = 0, currency = reportCurrency} = chatReport ? getTripTotal(chatReport) : {};
162+
const {totalDisplaySpend} = getMoneyRequestSpendBreakdown(chatReport);
164163

164+
const currency = iouReport?.currency ?? chatReport?.currency;
165165
const displayAmount = useMemo(() => {
166166
if (totalDisplaySpend) {
167167
return convertToDisplayString(totalDisplaySpend, currency);

src/libs/DebugUtils.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,6 @@ function validateReportDraftProperty(key: keyof Report | keyof ReportNameValuePa
567567
startDate: 'string',
568568
endDate: 'string',
569569
tripID: 'string',
570-
payload: 'object',
571570
});
572571
case 'calendlySchedule':
573572
return validateObject<ObjectElement<ReportNameValuePairs, 'calendlySchedule'>>(value, {

src/libs/Navigation/types.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1730,8 +1730,7 @@ type TravelNavigatorParamList = {
17301730
[SCREENS.TRAVEL.TRIP_DETAILS]: {
17311731
reportID: string;
17321732
transactionID: string;
1733-
sequenceIndex: number;
1734-
pnr: string;
1733+
reservationIndex: number;
17351734
backTo?: string;
17361735
};
17371736
[SCREENS.TRAVEL.TCS]: {

0 commit comments

Comments
 (0)