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 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'lib') 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 ) -- cgit v1.2.3