summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBirte Kristina Friesel <birte.friesel@uos.de>2024-03-04 18:22:21 +0100
committerBirte Kristina Friesel <birte.friesel@uos.de>2024-03-04 18:22:21 +0100
commit4b11079594080885642591f5f3c4787e5ffa1a50 (patch)
treebc0a9b9739b0fc137c32c6bc8bb0a3e6b837272c
parentb1ca67fd2921d0f3969df77b7f6d120240d282d0 (diff)
show carriage numbers (or classes) on traininfo page
-rw-r--r--lib/DBInfoscreen/Controller/Stationboard.pm1
-rw-r--r--sass/app.scss13
-rw-r--r--templates/_train_details.html.ep21
3 files changed, 34 insertions, 1 deletions
diff --git a/lib/DBInfoscreen/Controller/Stationboard.pm b/lib/DBInfoscreen/Controller/Stationboard.pm
index 7271d63..cabd46d 100644
--- a/lib/DBInfoscreen/Controller/Stationboard.pm
+++ b/lib/DBInfoscreen/Controller/Stationboard.pm
@@ -720,6 +720,7 @@ sub render_train {
my $wr
= Travel::Status::DE::DBWagenreihung->new(
from_json => $wr_json );
+ $departure->{wr} = $wr;
$departure->{wr_text} = join( q{ + },
map { $_->{short} }
grep { $_->{short} } $wr->train_descriptions );
diff --git a/sass/app.scss b/sass/app.scss
index f63c85c..f72203e 100644
--- a/sass/app.scss
+++ b/sass/app.scss
@@ -523,13 +523,24 @@ div.app {
width: 100%;
display: flex;
justify-content: space-between;
- margin-bottom: 1em;
+ margin-bottom: 0.5em;
> div {
width: 33%;
}
}
+ .wagonorder-preview {
+ font-size: 110%;
+ width: 100%;
+ text-align: center;
+ margin-bottom: 1em;
+
+ a {
+ color: $fg;
+ }
+ }
+
.departure {
text-align: right;
}
diff --git a/templates/_train_details.html.ep b/templates/_train_details.html.ep
index c89a01c..ccdb70a 100644
--- a/templates/_train_details.html.ep
+++ b/templates/_train_details.html.ep
@@ -113,6 +113,27 @@
</div>
</div>
</div> <!-- dataline -->
+% if (my $wr = $departure->{wr}) {
+ <div class="wagonorder-preview">
+% my @wagons = $wr->wagons;
+% my $direction = $wr->direction == 100 ? '→' : '←';
+% if ($departure->{direction}) {
+% $direction = $departure->{direction} eq 'l' ? '◀' : '▶';
+% if (($departure->{direction} eq 'l' ? 0 : 100) != $wr->direction) {
+% @wagons = reverse @wagons;
+% }
+% }
+ <a href="/_wr/<%= $departure->{train_no} %>/<%= $departure->{wr_link} %>?e=<%= $departure->{direction} // '' %>">
+ %= $direction
+% for my $wagon (@wagons) {
+% if (not ($wagon->is_locomotive or $wagon->is_powercar)) {
+%= $wagon->number || ($wagon->type =~ m{AB} ? '½' : $wagon->type =~ m{A} ? '1.' : $wagon->type =~ m{B} ? '2.' : '?' )
+% }
+% }
+ %= $direction
+ </a>
+ </div>
+% }
<div class="verbose">
% if ($departure->{trip_id}) {
% if (stash('station_name')) {