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> | 
