From e6b74ef0875dbdf555462ef7e719f2f8354c3d64 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Tue, 3 Mar 2020 18:29:37 +0100 Subject: show QoS pictograms in connection list --- lib/Travelynx.pm | 7 +++++++ templates/_connections.html.ep | 31 +++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/lib/Travelynx.pm b/lib/Travelynx.pm index 3e8c101..aea9ac8 100755 --- a/lib/Travelynx.pm +++ b/lib/Travelynx.pm @@ -2869,6 +2869,13 @@ sub startup { sort { $a->[1] <=> $b->[1] } map { [ $_, $_->[0]->sched_departure->epoch ] } @cancellations; + for my $result (@results) { + my $train = $result->[0]; + my @message_ids + = List::Util::uniq map { $_->[1] } $train->raw_messages; + $train->{message_id} = { map { $_ => 1 } @message_ids }; + } + return ( @results, @cancellations ); } ); diff --git a/templates/_connections.html.ep b/templates/_connections.html.ep index 2837e93..6e5404b 100644 --- a/templates/_connections.html.ep +++ b/templates/_connections.html.ep @@ -23,6 +23,22 @@ % else { %= $via % } +
+ % if ($train->{message_id}{70} or $train->{message_id}{71}) { + portable_wifi_off + % } + % if (($train->{message_id}{73} or $train->{message_id}{74} or $train->{message_id}{75} or $train->{message_id}{76} or $train->{message_id}{80}) and not $train->{message_id}{84}) { + transfer_within_a_station + % } + % if ($train->{message_id}{83} or $train->{message_id}{93} or $train->{message_id}{95}) { + info_outline + % } + % if ($train->{message_id}{82} or $train->{message_id}{85}) { + people + % } + % if ($train->{message_id}{96} or $train->{message_id}{97}) { + warning + % } % if ($train->departure_is_cancelled) { @@ -65,6 +81,21 @@ % else { %= $via % } + % if ($train->{message_id}{70} or $train->{message_id}{71}) { + portable_wifi_off + % } + % if (($train->{message_id}{73} or $train->{message_id}{74} or $train->{message_id}{75} or $train->{message_id}{76} or $train->{message_id}{80}) and not $train->{message_id}{84}) { + transfer_within_a_station + % } + % if ($train->{message_id}{83} or $train->{message_id}{93} or $train->{message_id}{95}) { + info_outline + % } + % if ($train->{message_id}{82} or $train->{message_id}{85}) { + people + % } + % if ($train->{message_id}{96} or $train->{message_id}{97}) { + warning + % } % if ($train->departure_is_cancelled) { -- cgit v1.2.3