Loading index.pl +35 −11 Original line number Original line Diff line number Diff line Loading @@ -252,11 +252,10 @@ sub handle_request { } } if ( $result->replacement_for and $template ne 'clean' ) { if ( $result->replacement_for and $template ne 'clean' ) { for my $rep ( $result->replacement_for ) { for my $rep ( $result->replacement_for ) { $info = sprintf('Ersatzzug für %s %s %s%s', $info = sprintf( $rep->type, 'Ersatzzug für %s %s %s%s', $rep->train_no, $rep->type, $rep->train_no, $info ? '+++ ' : q{}, $info ? '+++ ' : q{}, $info // q{} $info // q{} ); ); } } } } Loading Loading @@ -427,10 +426,27 @@ sub handle_request { @departures, @departures, { { time => $time, time => $time, sched_arrival => $result->sched_arrival ? $result->sched_arrival->strftime('%H:%M') : undef, sched_departure => $result->sched_departure ? $result->sched_departure->strftime('%H:%M') : undef, arrival => $result->arrival ? $result->arrival->strftime('%H:%M') : undef, departure => $result->departure ? $result->departure->strftime('%H:%M') : undef, train => $result->train, train => $result->train, train_type => $result->type, train_line => $result->line_no, train_no => $result->train_no, via => [ $result->route_interesting(3) ], via => [ $result->route_interesting(3) ], scheduled_route => [ $result->sched_route ], scheduled_route => [ $result->sched_route ], route_post => [ $result->route_post ], destination => $result->destination, destination => $result->destination, origin => $result->origin, platform => $platform, platform => $platform, info => $info, info => $info, is_cancelled => $result->can('is_cancelled') is_cancelled => $result->can('is_cancelled') Loading @@ -451,9 +467,17 @@ sub handle_request { additional_stops => [ $result->additional_stops ], additional_stops => [ $result->additional_stops ], canceled_stops => [ $result->canceled_stops ], canceled_stops => [ $result->canceled_stops ], replaced_by => $result->can('replaced_by') replaced_by => $result->can('replaced_by') ? [ map { $_->type . q{ } . $_->train_no } $result->replaced_by ] : [], ? [ map { $_->type . q{ } . $_->train_no } $result->replaced_by ] : [], replacement_for => $result->can('replacement_for') replacement_for => $result->can('replacement_for') ? [ map { $_->type . q{ } . $_->train_no } $result->replacement_for ] : [], ? [ map { $_->type . q{ } . $_->train_no } $result->replacement_for ] : [], } } ); ); } } Loading public/default.css +11 −2 Original line number Original line Diff line number Diff line Loading @@ -109,12 +109,14 @@ div.displayclean li .moreinfo { position:fixed; position:fixed; top:1em; top:1em; left:1em; left:1em; right:1em; min-height: 1em; min-height: 1em; width: 90%; max-height: 90%; background-color: white; background-color: white; border: 1px solid black; border: 1px solid black; z-index: 5; z-index: 5; display: none; display: none; overflow: auto; } } div.displayclean li .collapsed-moreinfo { div.displayclean li .collapsed-moreinfo { Loading @@ -125,7 +127,14 @@ div.displayclean li .expanded-moreinfo { display: block; display: block; } } div.displayclean li .moreinfo .reason { div.displayclean li .moreinfo .mheader { text-align: center; background-color: #cccccc; font-size: 120%; } div.displayclean li .moreinfo .reason, div.displayclean li .moreinfo .minfo { color: #ff0000; color: #ff0000; } } Loading templates/clean.html.ep +42 −5 Original line number Original line Diff line number Diff line Loading @@ -35,12 +35,49 @@ % } % } </span> </span> % } % } % if ($departure->{moreinfo} and @{$departure->{moreinfo}}) { <span class="moreinfo"> <span class="moreinfo"> <ul> <div class="mheader"> % if ($route_str) { <span class="train-line"><%= $departure->{train_type} // q{???} %></span><!-- <li> Via: <%= $route_str %> </li> --><span class="train-line"><%= $departure->{train_line} // q{} %></span> % if ($departure->{train_line}) { <span class="train-no"><%= $departure->{train_no} // q{???} %></span> % } % else { <span class="train-line"><%= $departure->{train_no} // q{???} %></span> % } : <span class="train-origin"><%= $departure->{origin} // q{???} %></span> → <span class="train-dest"><%= $departure->{destination} // q{???} %></span> % if ($departure->{is_cancelled}) { <div class="minfo">Fahrt fällt aus</div> % } % elsif ($departure->{delay} > 0) { <div class="minfo">+<%= $departure->{delay} %></div> % } </div> % if (not $departure->{is_cancelled}) { % if ($departure->{sched_arrival}) { Ankunft: <%= $departure->{sched_arrival} %> % if ($departure->{arrival} and $departure->{arrival} ne $departure->{sched_arrival}) { (heute: <%= $departure->{arrival} %>) % } % } <br/> % } % if ($departure->{sched_departure}) { Abfahrt: <%= $departure->{sched_departure} %> % if ($departure->{departure} and $departure->{departure} ne $departure->{sched_departure}) { (heute: <%= $departure->{departure} %>) % } <br/> % } % } % if ($departure->{route_post} and @{$departure->{route_post}}) { Über: <span class="mroute"><%= join(' – ', @{$departure->{route_post} // q{???}}) %></span><br/> % } % if ($departure->{moreinfo} and @{$departure->{moreinfo}}) { Meldungen: <ul> % for my $pair (@{$departure->{moreinfo}}) { % for my $pair (@{$departure->{moreinfo}}) { <li> <li> % if ($pair->[0]->isa('DateTime')) { % if ($pair->[0]->isa('DateTime')) { Loading @@ -56,8 +93,8 @@ </li> </li> % } % } </ul> </ul> </span> % } % } </span> % if ($departure->{info} and length $departure->{info}) { % if ($departure->{info} and length $departure->{info}) { <span class="info"> <span class="info"> %= $departure->{info} %= $departure->{info} Loading Loading
index.pl +35 −11 Original line number Original line Diff line number Diff line Loading @@ -252,11 +252,10 @@ sub handle_request { } } if ( $result->replacement_for and $template ne 'clean' ) { if ( $result->replacement_for and $template ne 'clean' ) { for my $rep ( $result->replacement_for ) { for my $rep ( $result->replacement_for ) { $info = sprintf('Ersatzzug für %s %s %s%s', $info = sprintf( $rep->type, 'Ersatzzug für %s %s %s%s', $rep->train_no, $rep->type, $rep->train_no, $info ? '+++ ' : q{}, $info ? '+++ ' : q{}, $info // q{} $info // q{} ); ); } } } } Loading Loading @@ -427,10 +426,27 @@ sub handle_request { @departures, @departures, { { time => $time, time => $time, sched_arrival => $result->sched_arrival ? $result->sched_arrival->strftime('%H:%M') : undef, sched_departure => $result->sched_departure ? $result->sched_departure->strftime('%H:%M') : undef, arrival => $result->arrival ? $result->arrival->strftime('%H:%M') : undef, departure => $result->departure ? $result->departure->strftime('%H:%M') : undef, train => $result->train, train => $result->train, train_type => $result->type, train_line => $result->line_no, train_no => $result->train_no, via => [ $result->route_interesting(3) ], via => [ $result->route_interesting(3) ], scheduled_route => [ $result->sched_route ], scheduled_route => [ $result->sched_route ], route_post => [ $result->route_post ], destination => $result->destination, destination => $result->destination, origin => $result->origin, platform => $platform, platform => $platform, info => $info, info => $info, is_cancelled => $result->can('is_cancelled') is_cancelled => $result->can('is_cancelled') Loading @@ -451,9 +467,17 @@ sub handle_request { additional_stops => [ $result->additional_stops ], additional_stops => [ $result->additional_stops ], canceled_stops => [ $result->canceled_stops ], canceled_stops => [ $result->canceled_stops ], replaced_by => $result->can('replaced_by') replaced_by => $result->can('replaced_by') ? [ map { $_->type . q{ } . $_->train_no } $result->replaced_by ] : [], ? [ map { $_->type . q{ } . $_->train_no } $result->replaced_by ] : [], replacement_for => $result->can('replacement_for') replacement_for => $result->can('replacement_for') ? [ map { $_->type . q{ } . $_->train_no } $result->replacement_for ] : [], ? [ map { $_->type . q{ } . $_->train_no } $result->replacement_for ] : [], } } ); ); } } Loading
public/default.css +11 −2 Original line number Original line Diff line number Diff line Loading @@ -109,12 +109,14 @@ div.displayclean li .moreinfo { position:fixed; position:fixed; top:1em; top:1em; left:1em; left:1em; right:1em; min-height: 1em; min-height: 1em; width: 90%; max-height: 90%; background-color: white; background-color: white; border: 1px solid black; border: 1px solid black; z-index: 5; z-index: 5; display: none; display: none; overflow: auto; } } div.displayclean li .collapsed-moreinfo { div.displayclean li .collapsed-moreinfo { Loading @@ -125,7 +127,14 @@ div.displayclean li .expanded-moreinfo { display: block; display: block; } } div.displayclean li .moreinfo .reason { div.displayclean li .moreinfo .mheader { text-align: center; background-color: #cccccc; font-size: 120%; } div.displayclean li .moreinfo .reason, div.displayclean li .moreinfo .minfo { color: #ff0000; color: #ff0000; } } Loading
templates/clean.html.ep +42 −5 Original line number Original line Diff line number Diff line Loading @@ -35,12 +35,49 @@ % } % } </span> </span> % } % } % if ($departure->{moreinfo} and @{$departure->{moreinfo}}) { <span class="moreinfo"> <span class="moreinfo"> <ul> <div class="mheader"> % if ($route_str) { <span class="train-line"><%= $departure->{train_type} // q{???} %></span><!-- <li> Via: <%= $route_str %> </li> --><span class="train-line"><%= $departure->{train_line} // q{} %></span> % if ($departure->{train_line}) { <span class="train-no"><%= $departure->{train_no} // q{???} %></span> % } % else { <span class="train-line"><%= $departure->{train_no} // q{???} %></span> % } : <span class="train-origin"><%= $departure->{origin} // q{???} %></span> → <span class="train-dest"><%= $departure->{destination} // q{???} %></span> % if ($departure->{is_cancelled}) { <div class="minfo">Fahrt fällt aus</div> % } % elsif ($departure->{delay} > 0) { <div class="minfo">+<%= $departure->{delay} %></div> % } </div> % if (not $departure->{is_cancelled}) { % if ($departure->{sched_arrival}) { Ankunft: <%= $departure->{sched_arrival} %> % if ($departure->{arrival} and $departure->{arrival} ne $departure->{sched_arrival}) { (heute: <%= $departure->{arrival} %>) % } % } <br/> % } % if ($departure->{sched_departure}) { Abfahrt: <%= $departure->{sched_departure} %> % if ($departure->{departure} and $departure->{departure} ne $departure->{sched_departure}) { (heute: <%= $departure->{departure} %>) % } <br/> % } % } % if ($departure->{route_post} and @{$departure->{route_post}}) { Über: <span class="mroute"><%= join(' – ', @{$departure->{route_post} // q{???}}) %></span><br/> % } % if ($departure->{moreinfo} and @{$departure->{moreinfo}}) { Meldungen: <ul> % for my $pair (@{$departure->{moreinfo}}) { % for my $pair (@{$departure->{moreinfo}}) { <li> <li> % if ($pair->[0]->isa('DateTime')) { % if ($pair->[0]->isa('DateTime')) { Loading @@ -56,8 +93,8 @@ </li> </li> % } % } </ul> </ul> </span> % } % } </span> % if ($departure->{info} and length $departure->{info}) { % if ($departure->{info} and length $departure->{info}) { <span class="info"> <span class="info"> %= $departure->{info} %= $departure->{info} Loading