Loading index.pl +33 −5 Original line number Diff line number Diff line Loading @@ -71,6 +71,7 @@ sub handle_request { my $template = $self->param('mode') // 'multi'; my $hide_low_delay = $self->param('hidelowdelay') // 0; my $hide_opts = $self->param('hide_opts') // 0; my $show_realtime = $self->param('show_realtime') // 0; my $backend = $self->param('backend') // 'ris'; my $admode = $self->param('admode') // 'deparr'; my $callback = $self->param('callback'); Loading Loading @@ -173,6 +174,21 @@ sub handle_request { @results = sort { $a->platform <=> $b->platform } @results; } if ( $backend eq 'iris' and $show_realtime ) { if ( $admode eq 'arr' ) { @results = sort { ( $a->arrival // $a->departure ) <=> ( $b->arrival // $b->depearture ) } @results; } else { @results = sort { ( $a->departure // $a->arrival ) <=> ( $b->departure // $b->arrival ) } @results; } } for my $result (@results) { my $platform = ( split( / /, $result->platform ) )[0]; my $line = $result->line; Loading Loading @@ -259,6 +275,17 @@ sub handle_request { if ( $admode eq 'arr' ) { $time = $result->sched_arrival->strftime('%H:%M'); } if ($show_realtime) { if ( ( $admode eq 'arr' and $result->arrival ) or not $result->departure ) { $time = $result->arrival->strftime('%H:%M'); } else { $time = $result->departure->strftime('%H:%M'); } } } if ( $info eq '+0' ) { Loading Loading @@ -324,6 +351,7 @@ sub handle_request { title => "departures for ${station}", refresh_interval => $refresh_interval + 3, hide_opts => $hide_opts, show_realtime => $show_realtime, ); } } Loading public/default.css +10 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,12 @@ div.displayclean li .countdown .delay { padding-right:7px; } div.displayclean li .countdown .delaynorm { font-size:0.9em; color:#BB3333; padding-right:7px; } div.displayclean li .countdown .platform { font-weight: bold; } Loading @@ -168,6 +174,10 @@ div.displayclean li .time { top:5px; } div.displayclean span.delayed { color: #ff0000; } div.displaymulti { border: 0.2em solid #000066; width: 55em; Loading templates/clean.html.ep +12 −1 Original line number Diff line number Diff line Loading @@ -58,15 +58,26 @@ </span> <span class="countdown"> % if ($departure->{delay} and not $departure->{is_cancelled}) { % if ($show_realtime) { <span class="delaynorm">(+<%= $departure->{delay} %>)</span> % } % else { <span class="delay">(+<%= $departure->{delay} %>)</span> % } % } <span class="platform"> %= $departure->{platform} </span> </span> <span class="time"> <span class="time <%= ($show_realtime and $departure->{delay} and not $departure->{is_cancelled}) ? 'delayed' : q{} %>"> % if ($show_realtime and $departure->{delay} and not $departure->{is_cancelled}) { <span class="delayed"> % } %= $departure->{time} </span> % if ($show_realtime and $departure->{delay} and not $departure->{is_cancelled}) { </span> % } </li> <!-- Loading templates/layouts/default.html.ep +8 −0 Original line number Diff line number Diff line Loading @@ -123,6 +123,14 @@ %= select_field admode => [['Abfahrt bevorzugen' => 'deparr'], ['Nur Abfahrt' => 'dep'], ['Nur Ankunft' => 'arr']] </div> </div> <div class="field"> <div class="desc"> Erwartete Abfahrtzeiten statt Fahrplandaten verwenden? </div> <div> %= check_box 'show_realtime' => 1 </div> </div> </div> % end Loading Loading
index.pl +33 −5 Original line number Diff line number Diff line Loading @@ -71,6 +71,7 @@ sub handle_request { my $template = $self->param('mode') // 'multi'; my $hide_low_delay = $self->param('hidelowdelay') // 0; my $hide_opts = $self->param('hide_opts') // 0; my $show_realtime = $self->param('show_realtime') // 0; my $backend = $self->param('backend') // 'ris'; my $admode = $self->param('admode') // 'deparr'; my $callback = $self->param('callback'); Loading Loading @@ -173,6 +174,21 @@ sub handle_request { @results = sort { $a->platform <=> $b->platform } @results; } if ( $backend eq 'iris' and $show_realtime ) { if ( $admode eq 'arr' ) { @results = sort { ( $a->arrival // $a->departure ) <=> ( $b->arrival // $b->depearture ) } @results; } else { @results = sort { ( $a->departure // $a->arrival ) <=> ( $b->departure // $b->arrival ) } @results; } } for my $result (@results) { my $platform = ( split( / /, $result->platform ) )[0]; my $line = $result->line; Loading Loading @@ -259,6 +275,17 @@ sub handle_request { if ( $admode eq 'arr' ) { $time = $result->sched_arrival->strftime('%H:%M'); } if ($show_realtime) { if ( ( $admode eq 'arr' and $result->arrival ) or not $result->departure ) { $time = $result->arrival->strftime('%H:%M'); } else { $time = $result->departure->strftime('%H:%M'); } } } if ( $info eq '+0' ) { Loading Loading @@ -324,6 +351,7 @@ sub handle_request { title => "departures for ${station}", refresh_interval => $refresh_interval + 3, hide_opts => $hide_opts, show_realtime => $show_realtime, ); } } Loading
public/default.css +10 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,12 @@ div.displayclean li .countdown .delay { padding-right:7px; } div.displayclean li .countdown .delaynorm { font-size:0.9em; color:#BB3333; padding-right:7px; } div.displayclean li .countdown .platform { font-weight: bold; } Loading @@ -168,6 +174,10 @@ div.displayclean li .time { top:5px; } div.displayclean span.delayed { color: #ff0000; } div.displaymulti { border: 0.2em solid #000066; width: 55em; Loading
templates/clean.html.ep +12 −1 Original line number Diff line number Diff line Loading @@ -58,15 +58,26 @@ </span> <span class="countdown"> % if ($departure->{delay} and not $departure->{is_cancelled}) { % if ($show_realtime) { <span class="delaynorm">(+<%= $departure->{delay} %>)</span> % } % else { <span class="delay">(+<%= $departure->{delay} %>)</span> % } % } <span class="platform"> %= $departure->{platform} </span> </span> <span class="time"> <span class="time <%= ($show_realtime and $departure->{delay} and not $departure->{is_cancelled}) ? 'delayed' : q{} %>"> % if ($show_realtime and $departure->{delay} and not $departure->{is_cancelled}) { <span class="delayed"> % } %= $departure->{time} </span> % if ($show_realtime and $departure->{delay} and not $departure->{is_cancelled}) { </span> % } </li> <!-- Loading
templates/layouts/default.html.ep +8 −0 Original line number Diff line number Diff line Loading @@ -123,6 +123,14 @@ %= select_field admode => [['Abfahrt bevorzugen' => 'deparr'], ['Nur Abfahrt' => 'dep'], ['Nur Ankunft' => 'arr']] </div> </div> <div class="field"> <div class="desc"> Erwartete Abfahrtzeiten statt Fahrplandaten verwenden? </div> <div> %= check_box 'show_realtime' => 1 </div> </div> </div> % end Loading