diff options
author | Derf Null <derf@finalrewind.org> | 2023-05-01 10:06:30 +0200 |
---|---|---|
committer | Derf Null <derf@finalrewind.org> | 2023-05-01 10:06:30 +0200 |
commit | e4a07dc06cca76aae0a8174c564469527a4dd818 (patch) | |
tree | 88cf71c6992a3eed5745201e6dca4e22d396aabb | |
parent | c8624786456b5a1dcd9adecde34a819400b876ae (diff) |
journey: show times of intermediate stops, if available
-rwxr-xr-x | lib/Travelynx/Model/Journeys.pm | 7 | ||||
-rw-r--r-- | templates/journey.html.ep | 24 |
2 files changed, 30 insertions, 1 deletions
diff --git a/lib/Travelynx/Model/Journeys.pm b/lib/Travelynx/Model/Journeys.pm index bf8c013..01e904a 100755 --- a/lib/Travelynx/Model/Journeys.pm +++ b/lib/Travelynx/Model/Journeys.pm @@ -626,6 +626,13 @@ sub get { $ref->{checkout} = epoch_to_dt( $ref->{checkout_ts} ); $ref->{sched_arrival} = epoch_to_dt( $ref->{sched_arr_ts} ); $ref->{rt_arrival} = epoch_to_dt( $ref->{rt_arr_ts} ); + for my $stop ( @{ $ref->{route} } ) { + for my $k (qw(rt_arr rt_dep sched_arr sched_dep)) { + if ( $stop->[2]{$k} ) { + $stop->[2]{$k} = epoch_to_dt( $stop->[2]{$k} ); + } + } + } } if ( $opt{verbose} ) { diff --git a/templates/journey.html.ep b/templates/journey.html.ep index 696329f..f85efeb 100644 --- a/templates/journey.html.ep +++ b/templates/journey.html.ep @@ -208,6 +208,7 @@ <tr> <th scope="row">Route</th> <td> + % my $before = 1; % my $within = 0; % my $at_startstop = 0; % for my $station (@{$journey->{route}}) { @@ -220,8 +221,16 @@ % else { % $at_startstop = 0; % } + <span style="color: #808080;"> + % if ($before and $station->[2]{sched_dep}) { + %= $station->[2]{sched_dep}->strftime('%H:%M') + % } + % elsif (not $before and $station->[2]{sched_arr}) { + %= $station->[2]{sched_arr}->strftime('%H:%M') + % } + </span> % if ($at_startstop or $within) { - <%= $station->[0] %> + %= $station->[0] % } % else { <span style="color: #808080;"><%= $station->[0] %></span> @@ -229,6 +238,19 @@ % if ($journey->{edited} & 0x0010) { ∗ % } + % if ($within or $at_startstop) { + <span style="color: #808080;"> + % if ($before and $station->[2]{rt_dep} and $station->[2]{dep_delay}) { + %= sprintf('%+d → %s', $station->[2]{dep_delay}, $station->[2]{rt_dep}->strftime('%H:%M')) + % } + % elsif (not $before and $station->[2]{rt_arr} and $station->[2]{arr_delay}) { + %= sprintf('%+d → %s', $station->[2]{arr_delay}, $station->[2]{rt_arr}->strftime('%H:%M')) + % } + </span> + % } + % if ($station->[0] eq $journey->{from_name}) { + % $before = 0; + % } <br/> % } </td> |