diff options
Diffstat (limited to 'templates/wagenreihung.html.ep')
-rw-r--r-- | templates/wagenreihung.html.ep | 128 |
1 files changed, 34 insertions, 94 deletions
diff --git a/templates/wagenreihung.html.ep b/templates/wagenreihung.html.ep index ce028d3..19c49ab 100644 --- a/templates/wagenreihung.html.ep +++ b/templates/wagenreihung.html.ep @@ -1,117 +1,57 @@ -% if ($wr->errstr) { +% if (not $wr or $wr_error) { <div class="container"> <div class="error"> <strong>Fehler bei der Abfrage der Wagenreihung:</strong> - <%= $wr->errstr %> + <%= $wr_error // 'Unbekannter Fehler' %> </div> </div> % } % else { <div class="container"> <div style="text-align: center;"> -%= join( ' / ', $wr->origins ) - → -%= join( ' / ', map { $_->{name} } $wr->destinations ) + Gleis <%= $wr->platform %><br/> </div> - <%= $wr->station_name %> Gleis <%= $wr->platform %><br/> - Zugtyp: <%= $wr->train_subtype // 'IC?' %> </div> - </div> -% if ($wr->train_type ne 'ICE') { - <div class="container"> - <div class="warning"> - <strong>⚠ Keine zuverlässigen Daten vorhanden.</strong> - IC/EC-Wagenreihungen werden vom Backend noch nicht offiziell unterstützt. - Sowohl die hier angegebenen Daten als auch die am Bahnsteig angezeigte - Wagenreihung können fehlerhaft sein. - </div> - </div> -% } <div class="container"> - <div style="position: relative; width: 100%; height: 70ex;"> -% if (not $wr->has_bad_wagons) { -% for my $section ($wr->sections) { - <div style="position: absolute; left: 1em; width: 2em; - top: <%= $section->{start_percent} %>%; bottom: <%= 100 - $section->{end_percent} %>%; text-align: center;"> -%= $section->{name} - </div> -% } + <div class="wagonorder exit-<%= stash('exit_dir') // 'unknown'%>"> +% for my $sector ($wr->sectors) { + <div class="section" style=" + top: <%= $sector->start_percent %>%; bottom: <%= 100 - $sector->end_percent %>%;"> +%= $sector->name + </div> % } -% for my $wagon ($wr->wagons) { -% my $bg = ''; -% if ($wagon->is_first_class) { -% $bg = 'background-color: #ffff99;'; -% } -% if ($wagon->is_locomotive or $wagon->is_powercar) { -% $bg = 'background-color: #cccccc;'; +% for my $group ($wr->groups) { +% my $first = 1; +% for my $wagon ($group->carriages) { +%= include '_wagon', wr => $wr, group => $group, wagon => $wagon, first => $first, multi => (scalar $wr->destinations) - 1 + (scalar $wr->train_numbers) - 1, wref => $wref, exit_dir => stash('exit_dir'), train_no => param('number'); +% $first = 0; % } - <div style="position: absolute; left: 6em; - top: <%= $wagon->{position}{start_percent} %>%; bottom: <%= 100 - $wagon->{position}{end_percent} %>%;"> -% if ($wr->has_bad_wagons) { -% } -% elsif ($wr->direction == 100) { - ↓ -% } -% else { - ↑ -% } - </div> - <div style="position: absolute; left: 3em; - top: <%= $wagon->{position}{start_percent} %>%; bottom: <%= 100 - $wagon->{position}{end_percent} %>%; - min-width: 2em; text-align: right; - border: 1px solid black; padding-left: 0.2em; padding-right: 0.2em; <%= $bg %>"> -% if ($wagon->is_locomotive or $wagon->is_powercar) { - LOK -% } -% else { -%= $wagon->number // '?' -% } - </div> - <div style="position: absolute; left: 7em; right: 0em; - top: <%= $wagon->{position}{start_percent} %>%; bottom: <%= 100 - $wagon->{position}{end_percent} %>%;"> -% if ($wagon->is_first_class) { - <span style="display: inline-block; width: 0.8em; text-align: center; color: #ffffff; background-color: #666666; border: 1px solid #666666;">1</span> -% } -% if ($wagon->is_second_class) { - <span style="display: inline-block; width: 0.8em; text-align: center; color: #666666; border: 1px solid #666666;">2</span> -% } -% if ($wagon->has_accessibility) { - <i class="material-icons">accessible</i> -% } -% if ($wagon->has_bistro) { - <i class="material-icons">restaurant</i> -% } -% if ($wagon->has_compartments) { - <!--<i class="material-icons">folder</i>--> -% } -% if ($wagon->has_quiet_area) { - <i class="material-icons">volume_off</i> -% } -% if ($wagon->has_phone_area) { - <i class="material-icons">smartphone</i> -% } -% if ($wagon->has_family_area) { - <i class="material-icons">people</i> -% } -% if ($wagon->has_bahn_comfort) { - <i class="material-icons">star</i> -% } -% if ($wagon->is_interregio) { - -% } - <span style="color: #999999;"> -%= $wagon->type - </span> - </div> % } </div> + % for my $group ($wr->groups) { + % if ($group->description) { + <div style="text-align: center;"> + %= $group->description + % if ($group->designation) { + „<%= $group->designation %>“ + % } + % if (scalar $wr->groups > 1 and $group->has_sectors) { + in Abschnitt <%= join(q{}, sort $group->sectors) %> + % } + </div> + % } + % } + <div style="text-align: center;"> + nach +%= join( ' / ', map { $_->{name} } $wr->destinations ) + </div> <!-- <div> Legende: ♿ Behindertengerechte Ausstattung / 🍴 Bistro/Restaurant / 🚪 Abteile vorhanden </div> --> - <div> - Angaben ohne Gewähr – Echtzeitdaten sind möglicherweise nicht berücksichtigt. - </div> + <p class="copyright"> + Quelle: DB Wagenreihungs-API (<%= stash('ts') // q{} %>). Angaben ohne Gewähr. + </p> </div> % } |