Skip to content

Commit c87c0a2

Browse files
committed
Fixes and cleanup
1 parent 479aa6f commit c87c0a2

4 files changed

Lines changed: 27 additions & 12 deletions

File tree

src/components/ReportActionItem/TripRoomPreview.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,6 @@ function TripRoomPreview({
181181
/>
182182
);
183183

184-
console.debug('displayAmount', totalDisplaySpend, displayAmount);
185184
return (
186185
<OfflineWithFeedback
187186
pendingAction={action?.pendingAction}

src/libs/TripReservationUtils.ts

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,8 @@ function getRailReservations(pnr: Pnr, travelers: PnrTraveler[]): Array<{reserva
368368
},
369369
],
370370
vendor: leg.vendorName,
371-
coachNumber: leg.travelClass,
371+
coachNumber: leg.allocatedSpaces?.at(0)?.coachNumber,
372+
seatNumber: leg.allocatedSpaces?.at(0)?.seatNumber,
372373
travelerPersonalInfo: {
373374
name: getTravelerName(traveler),
374375
email: traveler?.email ?? '',
@@ -434,5 +435,21 @@ function getTripTotal(tripReport: Report): {
434435
return getMoneyRequestSpendBreakdown(tripReport);
435436
}
436437

437-
export {getTripReservationIcon, getTripEReceiptIcon, getTripReservationCode, getReservationsFromTripReport, getTripTotal};
438+
function getReservationDetailsFromSequence(tripReservations: ReservationData[], sequenceIndex: number) {
439+
const reservationDataIndex = tripReservations?.findIndex((reservation) => reservation.sequenceIndex === sequenceIndex);
440+
const reservationData = tripReservations.at(reservationDataIndex);
441+
const prevReservationData = Number(reservationData?.reservationIndex) > 0 ? tripReservations?.at(reservationDataIndex - 1) : undefined;
442+
const reservation = reservationData?.reservation;
443+
const prevReservation = prevReservationData?.reservation;
444+
const reservationType = reservation?.type;
445+
const reservationIcon = getTripReservationIcon(reservation?.type);
446+
return {
447+
reservation,
448+
prevReservation,
449+
reservationType,
450+
reservationIcon,
451+
};
452+
}
453+
454+
export {getTripReservationIcon, getTripEReceiptIcon, getTripReservationCode, getReservationsFromTripReport, getTripTotal, getReservationDetailsFromSequence};
438455
export type {ReservationData};

src/pages/Travel/TripDetailsPage.tsx

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import useTheme from '@hooks/useTheme';
1616
import useThemeStyles from '@hooks/useThemeStyles';
1717
import type {TravelNavigatorParamList} from '@libs/Navigation/types';
1818
import {getTripIDFromTransactionParentReportID} from '@libs/ReportUtils';
19-
import {getReservationsFromTripReport, getTripReservationIcon} from '@libs/TripReservationUtils';
19+
import {getReservationDetailsFromSequence, getReservationsFromTripReport} from '@libs/TripReservationUtils';
2020
import {openTravelDotLink} from '@userActions/Link';
2121
import CONFIG from '@src/CONFIG';
2222
import CONST from '@src/CONST';
@@ -57,13 +57,7 @@ function TripDetailsPage({route}: TripDetailsPageProps) {
5757
// If pnr is not passed and transaction is present, we want to use transaction to get the trip reservations as the provided sequenceIndex now refers to the position of trip reservation in transaction's reservation list
5858
const tripReservations = getReservationsFromTripReport(!Number(pnr) && transaction ? undefined : parentReport, transaction ? [transaction] : []);
5959

60-
const reservationDataIndex = tripReservations?.findIndex((reservation) => reservation.sequenceIndex === Number(sequenceIndex));
61-
const reservationData = tripReservations.at(reservationDataIndex);
62-
const prevReservationData = Number(reservationData?.reservationIndex) > 0 ? tripReservations?.at(reservationDataIndex - 1) : undefined;
63-
const reservation = reservationData?.reservation;
64-
const prevReservation = prevReservationData?.reservation;
65-
const reservationType = reservation?.type;
66-
const reservationIcon = getTripReservationIcon(reservation?.type);
60+
const {reservation, prevReservation, reservationType, reservationIcon} = getReservationDetailsFromSequence(tripReservations, Number(sequenceIndex));
6761
const [travelerPersonalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST, {selector: (personalDetails) => pickTravelerPersonalDetails(personalDetails, reservation), canBeMissing: true});
6862

6963
return (

src/types/onyx/TripData.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1697,7 +1697,12 @@ type RailPnr = {
16971697
/** Leg information for the rail booking. */
16981698
legInfos: Array<{
16991699
/** Allocated spaces for the leg. */
1700-
allocatedSpaces: unknown[];
1700+
allocatedSpaces: Array<{
1701+
/** Seat */
1702+
seatNumber: string;
1703+
/** Coach */
1704+
coachNumber: string;
1705+
}>;
17011706
/** Amenities available for the leg. */
17021707
amenities: unknown[];
17031708
/** Arrival time in ISO 8601 format. */

0 commit comments

Comments
 (0)