Skip to content

Commit

Permalink
fix(batch ui): OTP2 fare support
Browse files Browse the repository at this point in the history
  • Loading branch information
miles-grant-ibigroup committed Aug 29, 2023
1 parent e9b4c12 commit 2c6aacd
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 6 deletions.
8 changes: 4 additions & 4 deletions lib/components/narrative/default/default-itinerary.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ import {
getAccessibilityScoreForItinerary,
itineraryHasAccessibilityScores
} from '../../../util/accessibility-routing'
import { getFare, getTotalFare } from '../../../util/state'
import { getFirstLegStartTime } from '../../../util/itinerary'
import { getTotalFare } from '../../../util/state'
import { Icon, StyledIconWrapperTextAlign } from '../../util/styledIcon'
import { localizeGradationMap } from '../utils'
import FieldTripGroupSize from '../../admin/field-trip-itinerary-group-size'
Expand Down Expand Up @@ -121,7 +121,7 @@ const ITINERARY_ATTRIBUTES = [
id: 'cost',
order: 2,
render: (itinerary, options, defaultFareType) => {
const fare = getTotalFare(itinerary, options.configCosts, defaultFareType)
const fare = getFare(itinerary, defaultFareType)
const currency = getItineraryCost(
itinerary.legs,
defaultFareType.mediumId,
Expand All @@ -142,11 +142,11 @@ const ITINERARY_ATTRIBUTES = [
return (
<FormattedNumber
// Currency from itinerary fare or from config.
currency={currency.code}
currency={fare.fareCurrency}
currencyDisplay="narrowSymbol"
// eslint-disable-next-line react/style-prop-object
style="currency"
value={fare}
value={fare.transitFare + fare.maxTNCFare}
/>
)
}
Expand Down
6 changes: 4 additions & 2 deletions lib/util/state.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,10 @@ export function getTotalFare(
let drivingCost = 0
let hasBikeshare = false
let transitFareNotProvided = false
let rideHailTrip = false
itinerary.legs.forEach((leg) => {
if (leg.mode === 'CAR') {
rideHailTrip = rideHailTrip || leg?.rideHailingEstimate
if (leg.mode === 'CAR' && !rideHailTrip) {
// Convert meters to miles and multiple by cost per mile.
drivingCost += leg.distance * 0.000621371 * costs.drivingCentsPerMile
}
Expand All @@ -121,7 +123,7 @@ export function getTotalFare(
if (transitFareNotProvided) return null
const bikeshareCost = hasBikeshare ? costs.bikeshareTripCostCents : 0
// If some leg uses driving, add parking cost to the total.
if (drivingCost > 0) drivingCost += costs.carParkingCostCents
if (drivingCost > 0 && !rideHailTrip) drivingCost += costs.carParkingCostCents
return bikeshareCost + drivingCost + transitFare + maxTNCFare * 100
}

Expand Down

0 comments on commit 2c6aacd

Please sign in to comment.