From 49463c761974b19826a16270c9e884a4fc298a31 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sat, 14 Jan 2023 09:54:26 +0100 Subject: train details: show expected arrival time at first stop, if available --- lib/DBInfoscreen/Controller/Stationboard.pm | 17 +++++++++++++---- templates/_train_details.html.ep | 5 ++++- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/lib/DBInfoscreen/Controller/Stationboard.pm b/lib/DBInfoscreen/Controller/Stationboard.pm index 5c282bd..78123d9 100644 --- a/lib/DBInfoscreen/Controller/Stationboard.pm +++ b/lib/DBInfoscreen/Controller/Stationboard.pm @@ -809,9 +809,16 @@ sub render_train { } )->wait; + $departure->{composition} + = $self->app->train_details_db->{ $departure->{train_no} }; + if ( not $departure->{arrival} + and $departure->{composition}{prepTime} + and $departure->{composition}{prepAt} eq $station_name ) + { + $departure->{prep_time} = $departure->{composition}{prepTime}; + $departure->{arrival_hidden} = 1; + } if ( $self->param('detailed') ) { - $departure->{composition} - = $self->app->train_details_db->{ $departure->{train_no} }; my @cycle_from; my @cycle_to; for my $pred ( @{ $departure->{composition}{predecessors} // [] } ) { @@ -834,8 +841,10 @@ sub render_train { departure => $departure, linetype => $linetype, icetype => $self->app->ice_type_map->{ $departure->{train_no} }, - details => $departure->{composition} // {}, - dt_now => DateTime->now( time_zone => 'Europe/Berlin' ), + details => $self->param('detailed') + ? $departure->{composition} // {} + : {}, + dt_now => DateTime->now( time_zone => 'Europe/Berlin' ), station_name => $station_name, nav_link => $self->url_for( 'station', station => $station_name ) diff --git a/templates/_train_details.html.ep b/templates/_train_details.html.ep index 3e07cf8..ab6ea45 100644 --- a/templates/_train_details.html.ep +++ b/templates/_train_details.html.ep @@ -63,6 +63,9 @@ % else { An: <%= $departure->{arrival} %> % } +% } +% elsif ($departure->{prep_time}) { + Ein: <%= $departure->{prep_time} %> % } @@ -88,7 +91,7 @@ <%= $left %>Gleis <%= $departure->{platform} // $departure->{scheduled_platform} %><%= $right %> % } % } -% if ($departure->{arrival_hidden}) { +% if ($departure->{arrival_hidden} and not $departure->{prep_time}) {
Nur Einstieg % } % if ($departure->{departure_hidden}) { -- cgit v1.2.3