summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
authorDerf Null <derf@finalrewind.org>2023-03-27 21:03:25 +0200
committerDerf Null <derf@finalrewind.org>2023-03-27 21:03:25 +0200
commitc3c7a0c78b30cc7ef2b836cca4eb0a4e110955da (patch)
treeb66a6f0dcb4cb8d0e10ad29c84d79d0f309ee402 /templates
parent3acee2b285ac81405c5d2ce8889c77460f6f58a0 (diff)
stationboard: add HAFAS support
Diffstat (limited to 'templates')
-rw-r--r--templates/_departures_hafas.html.ep44
-rw-r--r--templates/_departures_iris.html.ep52
-rw-r--r--templates/departures.html.ep58
-rw-r--r--templates/exception.html.ep2
4 files changed, 103 insertions, 53 deletions
diff --git a/templates/_departures_hafas.html.ep b/templates/_departures_hafas.html.ep
new file mode 100644
index 0000000..5b1a057
--- /dev/null
+++ b/templates/_departures_hafas.html.ep
@@ -0,0 +1,44 @@
+<table class="striped">
+<tbody>
+% my $orientation_bar_shown = param('train');
+% my $now_epoch = now()->epoch;
+% for my $result (@{$results}) {
+ % my $td_class = '';
+ % my $link_class = 'action-checkin';
+ % if ($result->is_cancelled) {
+ % $td_class = "cancelled";
+ % $link_class = 'action-cancelled-from';
+ % }
+ % if (not $orientation_bar_shown and $result->datetime->epoch < $now_epoch) {
+ % $orientation_bar_shown = 1;
+ <tr>
+ <td>
+ </td>
+ <td>
+ — Anfragezeitpunkt —
+ </td>
+ <td>
+ </td>
+ </tr>
+ % }
+ <tr class="<%= $link_class %>" data-station="<%= $result->station_eva %>" data-train="<%= $result->id %>" data-tr="3">
+ <td>
+ <a>
+ <%= $result->line %>
+ </a>
+ </td>
+ <td class="<%= $td_class %>">
+ <a>
+ <%= $result->destination %>
+ </a>
+ </td>
+ <td class="<%= $td_class %>">
+ %= $result->datetime->strftime('%H:%M')
+ % if ($result->delay) {
+ (<%= sprintf('%+d', $result->delay) %>)
+ % }
+ </td>
+ </tr>
+% }
+</tbody>
+</table>
diff --git a/templates/_departures_iris.html.ep b/templates/_departures_iris.html.ep
new file mode 100644
index 0000000..b24c3f1
--- /dev/null
+++ b/templates/_departures_iris.html.ep
@@ -0,0 +1,52 @@
+<table class="striped">
+<tbody>
+% my $orientation_bar_shown = param('train');
+% my $now_epoch = now()->epoch;
+% for my $result (@{$results}) {
+ % my $td_class = '';
+ % my $link_class = 'action-checkin';
+ % if ($result->departure_is_cancelled) {
+ % $td_class = "cancelled";
+ % $link_class = 'action-cancelled-from';
+ % }
+ % if (not $orientation_bar_shown and $result->departure->epoch < $now_epoch) {
+ % $orientation_bar_shown = 1;
+ <tr>
+ <td>
+ </td>
+ <td>
+ — Anfragezeitpunkt —
+ </td>
+ <td>
+ </td>
+ </tr>
+ % }
+ <tr class="<%= $link_class %>" data-station="<%= $result->station_uic %>" data-train="<%= $result->train_id %>" data-tr="3">
+ <td>
+ <a>
+ <%= $result->line %>
+ </a>
+ </td>
+ <td class="<%= $td_class %>">
+ <a>
+ <%= $result->destination %>
+ </a>
+ </td>
+ <td class="<%= $td_class %>">
+ % 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>
+ % }
+ </td>
+ </tr>
+% }
+</tbody>
+</table>
diff --git a/templates/departures.html.ep b/templates/departures.html.ep
index 25e752a..857be74 100644
--- a/templates/departures.html.ep
+++ b/templates/departures.html.ep
@@ -63,58 +63,12 @@
und maximal 120 Minuten nach Abfahrt möglich.
% }
</p>
- <table class="striped">
- <tbody>
- % my $orientation_bar_shown = param('train');
- % my $now_epoch = now()->epoch;
- % for my $result (@{$results}) {
- % my $td_class = '';
- % my $link_class = 'action-checkin';
- % if ($result->departure_is_cancelled) {
- % $td_class = "cancelled";
- % $link_class = 'action-cancelled-from';
- % }
- % if (not $orientation_bar_shown and $result->departure->epoch < $now_epoch) {
- % $orientation_bar_shown = 1;
- <tr>
- <td>
- </td>
- <td>
- — Anfragezeitpunkt —
- </td>
- <td>
- </td>
- </tr>
- % }
- <tr class="<%= $link_class %>" data-station="<%= $result->station_uic %>" data-train="<%= $result->train_id %>" data-tr="3">
- <td>
- <a>
- <%= $result->line %>
- </a>
- </td>
- <td class="<%= $td_class %>">
- <a>
- <%= $result->destination %>
- </a>
- </td>
- <td class="<%= $td_class %>">
- % 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>
- % }
- </td>
- </tr>
- % }
- </tbody>
- </table>
+ % if ($hafas) {
+ %= include '_departures_hafas', results => $results;
+ % }
+ % else {
+ %= include '_departures_iris', results => $results;
+ % }
</div>
</div>
diff --git a/templates/exception.html.ep b/templates/exception.html.ep
index 290efc5..ec01ad2 100644
--- a/templates/exception.html.ep
+++ b/templates/exception.html.ep
@@ -21,7 +21,7 @@
%= DateTime->now(time_zone => 'Europe/Berlin')->strftime("%d/%b/%Y:%H:%M:%S %z")
<br/><br/>
Message:
- %= (split(qr{\n}, $exception->message))[0]
+ %= ref($exception) ? (split(qr{\n}, $exception->message))[0] : $exception
</p>
</div>
</div>