diff options
| author | Birte Kristina Friesel <derf@finalrewind.org> | 2025-05-25 11:01:30 +0200 | 
|---|---|---|
| committer | Birte Kristina Friesel <derf@finalrewind.org> | 2025-05-25 11:01:30 +0200 | 
| commit | 08d77279a5af8a600f2938794aa2019b59f6e3e5 (patch) | |
| tree | 0c1173d97a8c037954fb3ea4f6931ba65fa9520c | |
| parent | 1f43edc6947147e5137c68d8dda730059b02c9ae (diff) | |
status card: show complete route and expected load2.11.32
| -rw-r--r-- | lib/Travelynx/Model/InTransit.pm | 2 | ||||
| -rw-r--r-- | templates/_public_status_card.html.ep | 55 | 
2 files changed, 53 insertions, 4 deletions
| diff --git a/lib/Travelynx/Model/InTransit.pm b/lib/Travelynx/Model/InTransit.pm index 1ec7137..2bd3dad 100644 --- a/lib/Travelynx/Model/InTransit.pm +++ b/lib/Travelynx/Model/InTransit.pm @@ -392,7 +392,7 @@ sub postprocess {  		  = $dep_info->{rt_arr}->epoch - $epoch;  	} -	for my $station (@route_after) { +	for my $station (@route) {  		if ( @{$station} > 1 ) {  			# Note: $station->[2]{sched_arr} may already have been diff --git a/templates/_public_status_card.html.ep b/templates/_public_status_card.html.ep index 280d4dd..e8b6fbb 100644 --- a/templates/_public_status_card.html.ep +++ b/templates/_public_status_card.html.ep @@ -197,13 +197,62 @@  					</ul>  				</div>  			% } -			% if ( $journey->{wagongroups} and @{$journey->{wagongroups}} and not stash('from_timeline')) { -				<div class="wagons"> +			% if ( @{$journey->{wagongroups} // []} and not stash('from_timeline')) { +				<div class="wagons" style="margin-bottom: 2ex;"> +					Wagen:<br/>  					%= include '_wagons', wagongroups => $journey->{wagongroups};  				</div>  			% } +			% if (not stash('from_timeline')) { +				<div> +					Zuglauf:<br/> +					% my $before = 1; +					% my $within = 0; +					% my $at_startstop = 0; +					% for my $station (@{$journey->{route}}) { +						% if (($station->[1] and $station->[1] == $journey->{dep_eva}) or $station->[0] eq $journey->{dep_name}) { +							% $within = 1; $at_startstop = 1; +						% } +						% elsif (($station->[1] and $station->[1] == $journey->{arr_eva}) or $station->[0] eq $journey->{arr_name}) { +							% $within = 0; $at_startstop = 1; +						% } +						% 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] +						% } +						% else { +							<span style="color: #808080;"><%= $station->[0] %></span> +						% } +						<span> +							%= include '_show_load_icons', station => $station +						</span> +						<span style="color: #808080;"> +							% if ($before and $station->[2]{rt_dep} and $station->[2]{dep_delay}) { +								%= sprintf('%+d', $station->[2]{dep_delay} / 60) +							% } +							% elsif (not $before and $station->[2]{rt_arr} and $station->[2]{arr_delay}) { +								%= sprintf('%+d', $station->[2]{arr_delay} / 60) +							% } +						</span> +						% if (($station->[1] and $station->[1] == $journey->{dep_eva}) or $station->[0] eq $journey->{dep_name}) { +							% $before = 0; +						% } +						<br/> +					% } +				</div> +			% }  		</div> -		% if (not stash('from_timeline')) { +		% if (0 and not stash('from_timeline')) {  			<div class="card-action">  				% if ($journey->{traewelling_url}) {  					<a style="margin-right: 0;" href="<%= $journey->{traewelling_url} %>"><i class="material-icons left">timeline</i> Träwelling</a> | 
