const getDuration = (departure: ?RouteStop, arrival: ?RouteStop) => { const departureRawTime = parseInt(departure?.time?.utc, 10) ?? 0; const arrivalRawTime = parseInt(arrival?.time?.utc, 10) ?? 0; const departureTimeMs = departureRawTime * 1000; const arrivalTimeMs = arrivalRawTime * 1000; return differenceInMinutes(arrivalTimeMs, departureTimeMs); }
export default function LayoverInfo(props: Props) { if (props.startTime && props.endTime) { const duration = DateFNS.differenceInMinutes( new Date(props.endTime), new Date(props.startTime), ); return ( <View style={styles.container}> <Duration iconName="timelapse" iconStyle={styles.icon} style={styles.text} duration={duration} /> <Text style={styles.text}> layover</Text> </View> ); } return null; }
const getStopoverDuration = ( sector: Sector, previousSector: ?Sector, ): number | null => { if (previousSector == null) { return null; } const currentSectorDeparture = sector.departure?.time?.utc; const previousSectorArrival = previousSector.arrival?.time?.utc; if (currentSectorDeparture == null || previousSectorArrival == null) { return null; } return differenceInMinutes( new Date(currentSectorDeparture), new Date(previousSectorArrival), ); }