2023-10-22 12:43:05 +00:00
|
|
|
<ul class="collection departures">
|
2023-03-27 19:03:25 +00:00
|
|
|
% my $orientation_bar_shown = param('train');
|
2023-10-21 07:30:26 +00:00
|
|
|
% my $now_epoch = now->epoch;
|
2023-03-27 19:03:25 +00:00
|
|
|
% for my $result (@{$results}) {
|
2023-10-22 12:43:05 +00:00
|
|
|
% my $row_class = '';
|
2023-03-27 19:03:25 +00:00
|
|
|
% my $link_class = 'action-checkin';
|
|
|
|
% if ($result->departure_is_cancelled) {
|
2023-10-22 12:43:05 +00:00
|
|
|
% $row_class = "cancelled";
|
2023-03-27 19:03:25 +00:00
|
|
|
% $link_class = 'action-cancelled-from';
|
|
|
|
% }
|
|
|
|
% if (not $orientation_bar_shown and $result->departure->epoch < $now_epoch) {
|
|
|
|
% $orientation_bar_shown = 1;
|
2023-10-22 12:43:05 +00:00
|
|
|
<li class="collection-item" id="now">
|
|
|
|
<strong class="dep-time">
|
2023-10-21 07:30:26 +00:00
|
|
|
%= now->strftime('%H:%M')
|
2023-10-22 12:43:05 +00:00
|
|
|
</strong>
|
|
|
|
<strong>— Anfragezeitpunkt —</strong>
|
|
|
|
</li>
|
2023-03-27 19:03:25 +00:00
|
|
|
% }
|
2023-10-22 12:43:05 +00:00
|
|
|
<li class="collection-item <%= $link_class %> <%= $row_class %>"
|
|
|
|
data-station="<%= $result->station_uic %>"
|
|
|
|
data-train="<%= $result->train_id %>"
|
|
|
|
data-ts="<%= ($result->sched_departure // $result->departure)->epoch %>"
|
|
|
|
>
|
2023-10-22 14:16:41 +00:00
|
|
|
<a class="dep-time" href="#">
|
2023-03-27 19:03:25 +00:00
|
|
|
% if ($result->departure_hidden) {
|
|
|
|
(<%= $result->departure->strftime('%H:%M') %>)
|
|
|
|
% }
|
|
|
|
% else {
|
|
|
|
%= $result->departure->strftime('%H:%M')
|
|
|
|
% }
|
|
|
|
% if ($result->departure_delay) {
|
|
|
|
(<%= sprintf('%+d', $result->departure_delay) %>)
|
|
|
|
% }
|
|
|
|
% elsif (not $result->has_realtime and $result->start->epoch < $now_epoch) {
|
|
|
|
<i class="material-icons" aria-label="Keine Echtzeitdaten vorhanden" style="font-size: 16px;">gps_off</i>
|
|
|
|
% }
|
2023-10-22 12:43:05 +00:00
|
|
|
</a>
|
2023-10-27 16:34:02 +00:00
|
|
|
<span class="dep-line <%= $result->type // q{} %>">
|
2023-10-22 14:16:41 +00:00
|
|
|
%= $result->line
|
|
|
|
</span>
|
2023-10-22 12:43:05 +00:00
|
|
|
<span class="dep-dest">
|
2023-10-27 05:33:10 +00:00
|
|
|
% if ($result->departure_is_cancelled) {
|
2023-10-22 14:16:41 +00:00
|
|
|
Fahrt nach <%= $result->destination %> entfällt
|
|
|
|
% }
|
|
|
|
% else {
|
|
|
|
%= $result->destination
|
|
|
|
% for my $checkin (@{$checkin_by_train->{$result->train_id} // []}) {
|
|
|
|
<span class="followee-checkin">
|
2023-10-22 16:32:41 +00:00
|
|
|
<i class="material-icons tiny" aria-label="Eine Person, der du folgst, ist hier eingecheckt">people</i>
|
2023-10-22 14:16:41 +00:00
|
|
|
<%= $checkin->{followee_name} %> → <%= $checkin->{arr_name} // '???' %>
|
|
|
|
</span>
|
|
|
|
% }
|
2023-10-22 12:43:41 +00:00
|
|
|
% }
|
2023-10-22 12:43:05 +00:00
|
|
|
</span>
|
|
|
|
</li>
|
2023-03-27 19:03:25 +00:00
|
|
|
% }
|
2023-10-22 12:43:05 +00:00
|
|
|
</ul>
|