Skip to content

Commit

Permalink
Redesign TrainView schedule info
Browse files Browse the repository at this point in the history
  • Loading branch information
yalishanda42 committed May 20, 2023
1 parent ae86d10 commit 88f5608
Show file tree
Hide file tree
Showing 3 changed files with 226 additions and 180 deletions.
22 changes: 11 additions & 11 deletions BDZDelays/bdz-delays/Sources/StationView/StationView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -110,37 +110,37 @@ fileprivate extension TrainAtStation {
to: to.name,
operation: movement.asOperationState,
arrival: arrivalDisplayTime,
departure: departureDisplayTime
departure: departureDisplayTime,
delayInMinutes: delay?.minutes
)
}

var arrivalDisplayTime: TrainViewModel.DisplayTime? {
var arrivalDisplayTime: TrainViewModel.Schedule? {
switch schedule {
case .arrivalOnly(let arrival),
.full(arrival: let arrival, departure: _):
return displayTimeFrom(arrival)
return scheduleFrom(arrival)
default:
return nil
}
}

var departureDisplayTime: TrainViewModel.DisplayTime? {
var departureDisplayTime: TrainViewModel.Schedule? {
switch schedule {
case .departureOnly(let departure),
.full(arrival: _, departure: let departure):
return displayTimeFrom(departure)
return scheduleFrom(departure)
default:
return nil
}
}

func displayTimeFrom(_ scheduled: Date) -> TrainViewModel.DisplayTime {
func scheduleFrom(_ scheduled: Date) -> TrainViewModel.Schedule {
.init(
scheduled: scheduled.hoursAndMinutes,
delay: delay.map { TrainViewModel.Delay(
minutes: $0.minutes,
estimate: scheduled.addingDuration($0).hoursAndMinutes
)}
scheduled.hoursAndMinutes,
actual: delay.map {
scheduled.addingDuration($0).hoursAndMinutes
}
)
}
}
Expand Down
Loading

0 comments on commit 88f5608

Please sign in to comment.