summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
Diffstat (limited to 'templates')
-rw-r--r--templates/_history_trains.html.ep72
-rw-r--r--templates/departures.html.ep12
-rw-r--r--templates/edit_journey.html.ep2
-rw-r--r--templates/journey.html.ep2
-rw-r--r--templates/landingpage.html.ep86
-rw-r--r--templates/layouts/default.html.ep2
6 files changed, 117 insertions, 59 deletions
diff --git a/templates/_history_trains.html.ep b/templates/_history_trains.html.ep
index def83d6..2328285 100644
--- a/templates/_history_trains.html.ep
+++ b/templates/_history_trains.html.ep
@@ -11,46 +11,44 @@
</thead>
<tbody>
% for my $travel (@{$journeys}) {
- % if ($travel->{completed}) {
- % my $detail_link = '/journey/' . current_user()->{id} . '-' . $travel->{ids}->[1];
- <tr>
- <td><%= $travel->{sched_departure}->strftime('%d.%m.') %></td>
- <td><a href="<%= $detail_link %>"><%= $travel->{type} %> <%= $travel->{line} // $travel->{no} %></a></td>
- <td>
- <a href="<%= $detail_link %>" class="unmarked">
- % if (param('cancelled')) {
- %= $travel->{sched_departure}->strftime('%H:%M')
+ % my $detail_link = '/journey/' . $travel->{id};
+ <tr>
+ <td><%= $travel->{sched_departure}->strftime('%d.%m.') %></td>
+ <td><a href="<%= $detail_link %>"><%= $travel->{type} %> <%= $travel->{line} // $travel->{no} %></a></td>
+ <td>
+ <a href="<%= $detail_link %>" class="unmarked">
+ % if (param('cancelled')) {
+ %= $travel->{sched_departure}->strftime('%H:%M')
+ % }
+ % else {
+ <%= $travel->{rt_departure}->strftime('%H:%M') %>
+ % if ($travel->{sched_departure} != $travel->{rt_departure}) {
+ (<%= sprintf('%+d', ($travel->{rt_departure}->epoch - $travel->{sched_departure}->epoch) / 60) %>)
% }
- % else {
- <%= $travel->{rt_departure}->strftime('%H:%M') %>
- % if ($travel->{sched_departure} != $travel->{rt_departure}) {
- (<%= sprintf('%+d', ($travel->{rt_departure}->epoch - $travel->{sched_departure}->epoch) / 60) %>)
+ % }
+ <br/>
+ <%= $travel->{from_name} %>
+ </a>
+ </td>
+ <td>
+ <a href="<%= $detail_link %>" class="unmarked">
+ % if (param('cancelled') and $travel->{sched_arrival}->epoch != 0) {
+ %= $travel->{sched_arrival}->strftime('%H:%M')
+ % }
+ % else {
+ % if ($travel->{rt_arrival}->epoch == 0 and $travel->{sched_arrival}->epoch == 0) {
+ <i class="material-icons">timer_off</i>
+ % } else {
+ %= $travel->{rt_arrival}->strftime('%H:%M');
+ % if ($travel->{sched_arrival} != $travel->{rt_arrival}) {
+ (<%= sprintf('%+d', ($travel->{rt_arrival}->epoch - $travel->{sched_arrival}->epoch) / 60) %>)
% }
% }
- <br/>
- <%= $travel->{from_name} %>
- </a>
- </td>
- <td>
- <a href="<%= $detail_link %>" class="unmarked">
- % if (param('cancelled') and $travel->{sched_arrival}->epoch != 0) {
- %= $travel->{sched_arrival}->strftime('%H:%M')
- % }
- % else {
- % if ($travel->{rt_arrival}->epoch == 0 and $travel->{sched_arrival}->epoch == 0) {
- <i class="material-icons">timer_off</i>
- % } else {
- %= $travel->{rt_arrival}->strftime('%H:%M');
- % if ($travel->{sched_arrival} != $travel->{rt_arrival}) {
- (<%= sprintf('%+d', ($travel->{rt_arrival}->epoch - $travel->{sched_arrival}->epoch) / 60) %>)
- % }
- % }
- % }
- <br/>
- <%= $travel->{to_name} %>
- </a></td>
- </tr>
- % }
+ % }
+ <br/>
+ <%= $travel->{to_name} %>
+ </a></td>
+ </tr>
% }
</tbody>
</table>
diff --git a/templates/departures.html.ep b/templates/departures.html.ep
index 1240d1d..7d33417 100644
--- a/templates/departures.html.ep
+++ b/templates/departures.html.ep
@@ -6,10 +6,10 @@
<div class="card-content white-text">
<span class="card-title">Aktuell eingecheckt</span>
<p>In <%= $status->{train_type} %> <%= $status->{train_no} %>
- ab <%= $status->{station_name} %></p>
+ ab <%= $status->{dep_name} %></p>
</div>
<div class="card-action">
- <a class="action-checkout" data-station="<%= $ds100 %>">
+ <a class="action-checkout" data-station="<%= $ds100 %>" data-force="1">
Hier auschecken
</a>
</div>
@@ -20,10 +20,10 @@
<div class="card-content white-text">
<span class="card-title">Ausgecheckt</span>
<p>Aus <%= $status->{train_type} %> <%= $status->{train_no} %>
- bis <%= $status->{station_name} %></p>
+ bis <%= $status->{arr_name} %></p>
</div>
<div class="card-action">
- <a class="action-undo" data-id="<%= $status->{action_id} %>">
+ <a class="action-undo" data-id="<%= $status->{journey_id} %>">
<i class="material-icons">undo</i> Rückgängig?
</a>
</div>
@@ -38,8 +38,8 @@
– Zug auswählen zum Einchecken.
% }
% else {
- – Keine Abfahrten gefunden. Ein Checkin ist frühestens 10 Minuten vor
- und maximal 180 Minuten nach Abfahrt möglich.
+ – Keine Abfahrten gefunden. Ein Checkin ist frühestens 30 Minuten vor
+ und maximal 120 Minuten nach Abfahrt möglich.
% }
<br/>
<table class="striped">
diff --git a/templates/edit_journey.html.ep b/templates/edit_journey.html.ep
index 0418d52..c37adba 100644
--- a/templates/edit_journey.html.ep
+++ b/templates/edit_journey.html.ep
@@ -80,7 +80,7 @@
</div>
<div class="row">
<div class="col s6 m6 l6 center-align">
- <a href="/journey/<%= current_user()->{id} %>-<%= param('journey_id') %>" class="waves-effect waves-light btn">
+ <a href="/journey/<%= param('journey_id') %>" class="waves-effect waves-light btn">
Abbrechen
</a>
</div>
diff --git a/templates/journey.html.ep b/templates/journey.html.ep
index 1e0ccc7..4af9694 100644
--- a/templates/journey.html.ep
+++ b/templates/journey.html.ep
@@ -161,7 +161,7 @@
<div class="row">
<div class="col s6 m6 l6 center-align">
<a class="waves-effect waves-light red btn action-delete"
- data-id="<%= join(q{,}, @{$journey->{ids}}) %>"
+ data-id="<%= $journey->{id} %>"
data-checkin="<%= $journey->{checkin}->epoch %>"
data-checkout="<%= $journey->{checkout}->epoch %>">
<i class="material-icons left">delete_forever</i>
diff --git a/templates/landingpage.html.ep b/templates/landingpage.html.ep
index 5f69fd1..cd14f5c 100644
--- a/templates/landingpage.html.ep
+++ b/templates/landingpage.html.ep
@@ -14,26 +14,84 @@
<div class="row">
<div class="col s12">
% my $status = get_user_status();
+ % my $now = DateTime->now(time_zone => 'Europe/Berlin');
+ % my $dep_wait = ($status->{real_departure}->epoch - $now->epoch)/60;
+ % my $arr_wait = undef;
+ % if ($status->{real_arrival}->epoch) {
+ % $arr_wait = ($status->{real_arrival}->epoch - $now->epoch)/60;
+ % }
% if ($status->{checked_in}) {
<div class="card green darken-4">
<div class="card-content white-text">
- <span class="card-title">Hallo, <%= current_user()->{name} %>!</span>
- <p>Du bist gerade eingecheckt in
- <%= $status->{train_type} %> <%= $status->{train_no} %>
- ab <%= $status->{station_name} %>.
- % if ($status->{timestamp_delta} < 180) {
- <a class="action-undo" data-id="<%= $status->{action_id} %>"><i class="material-icons">undo</i> Rückgängig</a>
+ <span class="card-title">Eingecheckt</span>
+ <p>
+ In <b><%= $status->{train_type} %> <%= $status->{train_no} %></b>
+ % if ($status->{arr_name}) {
+ von <b><%= $status->{dep_name} %></b> nach <b><%= $status->{arr_name} %></b>.
% }
- </p>
- <p>Bei Ankunft: Station auswählen zum Auschecken.</p>
+ % else {
+ ab <b><%= $status->{dep_name} %></b>.
+ % }
+ </p>
+ <p>
+ Abfahrt
+ % if ($dep_wait > 0) {
+ in <%= int(($status->{real_departure}->epoch - $now->epoch)/60) %> Minute<%= $dep_wait >= 2 ? 'n' : '' %>
+ % }
+ um <b><%= $status->{real_departure}->strftime('%H:%M') %></b>
+ % if ($status->{real_departure}->epoch != $status->{sched_departure}->epoch) {
+ (+<%= int(($status->{real_departure}->epoch - $status->{sched_departure}->epoch)/60) %>)
+ % }
+ </p>
+ <p>
+ % if ($status->{real_arrival}->epoch) {
+ Voraussichtliche Ankunft um <b><%= $status->{real_arrival}->strftime('%H:%M') %></b>
+ % if ($status->{real_arrival}->epoch != $status->{sched_arrival}->epoch) {
+ (+<%= int(($status->{real_arrival}->epoch - $status->{sched_arrival}->epoch)/60) %>)
+ % }
+ % }
+ % else {
+ Ankunft: noch nicht bekannt
+ % }
+ </p>
+ <p>
+ <b>Achtung:</b> Automatischer Checkout ist noch nicht
+ implementiert. Bitte spätestens eine Stunde nach Ankunft
+ am Ziel manuell auschecken.
+ </p>
+ % if ($status->{arr_name}) {
+ <p>Zielstation ändern?</p>
+ % }
+ % else {
+ <p>Zielstation wählen:</p>
+ % }
<table>
<tbody>
% my $is_after = 0;
% for my $station (@{$status->{route_after}}) {
- <tr><td><a class="action-checkout" data-station="<%= $station %>"><%= $station %></a></td></tr>
+ % if ($status->{arr_name} and $station eq $status->{arr_name}) {
+ <tr><td><b><a class="action-checkout" data-station="<%= $station %>"><%= $station %></a></b></td></tr>
+ % }
+ % else {
+ <tr><td><a class="action-checkout" data-station="<%= $station %>"><%= $station %></a></td></tr>
+ % }
% }
</tbody>
</table>
+ % if ($status->{arr_name}) {
+ <p>
+ Falls das Backend ausgefallen ist oder der Zug aus anderen
+ Gründen verloren ging: <a class="action-checkout"
+ data-force="1" data-station="<%= $status->{arr_name}
+ %>">Ohne Echtzeitdaten in <%= $status->{arr_name} %>
+ auschecken</a>.
+ </p>
+ % }
+ </div>
+ <div class="card-action">
+ <a class="action-undo" data-id="in_transit">
+ <i class="material-icons">undo</i> Checkin Rückgängig?
+ </a>
</div>
</div>
% }
@@ -44,9 +102,6 @@
<p>Prinzipiell wärest du nun eingecheckt in
<%= $status->{train_type} %> <%= $status->{train_no} %>
ab <%= $status->{station_name} %>, doch dieser Zug fällt aus.
- % if ($status->{timestamp_delta} < 180) {
- <a class="action-undo" data-id="<%= $status->{action_id} %>"><i class="material-icons">undo</i> Checkinversuch rückgängig</a>
- % }
</p>
<p>Falls du den Zugausfall z.B. für ein Fahrgastrechteformular
dokumentieren möchtest, wähle bitte jetzt deine geplante
@@ -62,6 +117,11 @@
</tbody>
</table>
</div>
+ <div class="card-action">
+ <a class="action-undo" data-id="in_transit">
+ <i class="material-icons">undo</i> Checkinversuch Rückgängig?
+ </a>
+ </div>
</div>
% }
% else {
@@ -91,7 +151,7 @@
</div>
</div>
<h1>Letzte Fahrten</h1>
- %= include '_history_trains', journeys => [get_user_travels(limit => 1)];
+ %= include '_history_trains', journeys => [get_user_travels(limit => 5)];
% }
% else {
<div class="row">
diff --git a/templates/layouts/default.html.ep b/templates/layouts/default.html.ep
index 9ab9269..cdd624a 100644
--- a/templates/layouts/default.html.ep
+++ b/templates/layouts/default.html.ep
@@ -5,7 +5,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="theme-color" content="#673ab7">
- % my $av = 'v5'; # asset version
+ % my $av = 'v6'; # asset version
%= stylesheet "/static/${av}/css/materialize.min.css"
%= stylesheet "/static/${av}/css/material-icons.css"
%= stylesheet "/static/${av}/css/local.css"