diff options
author | Daniel Friesel <derf@finalrewind.org> | 2019-04-23 22:27:13 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2019-04-23 22:27:13 +0200 |
commit | 6c1cae86f4fa343b4f165f80a4e42eba37fa917c (patch) | |
tree | 273fcc63fd249a766b39855f5dc3f60b4dcecb26 /templates | |
parent | ffaa0c44a78bb4bab632fcb76b668215da4c0a82 (diff) |
Primitive auto-refresh of current journey status
Todo: Redirect user to destination station upon arrival
Diffstat (limited to 'templates')
-rw-r--r-- | templates/_cancelled.html.ep | 27 | ||||
-rw-r--r-- | templates/_checked_in.html.ep | 85 | ||||
-rw-r--r-- | templates/_checked_out.html.ep | 12 | ||||
-rw-r--r-- | templates/departures.html.ep | 13 | ||||
-rw-r--r-- | templates/landingpage.html.ep | 88 | ||||
-rw-r--r-- | templates/layouts/default.html.ep | 2 |
6 files changed, 128 insertions, 99 deletions
diff --git a/templates/_cancelled.html.ep b/templates/_cancelled.html.ep new file mode 100644 index 0000000..d35c849 --- /dev/null +++ b/templates/_cancelled.html.ep @@ -0,0 +1,27 @@ +<div class="card yellow lighten-4"> + <div class="card-content"> + <span class="card-title">Zugausfall dokumentieren</span> + <p>Prinzipiell wärest du nun eingecheckt in + <%= $status->{train_type} %> <%= $status->{train_no} %> + ab <%= $status->{station_name} %>, doch dieser Zug fällt aus. + </p> + <p>Falls du den Zugausfall z.B. für ein Fahrgastrechteformular + dokumentieren möchtest, wähle bitte jetzt deine geplante + Zielstation aus. Achtung: Momentan wird dabei keine + Soll-Ankunftszeit gespeichert, das zu beheben steht auf + der Todoliste.</p> + <table> + <tbody> + % my $is_after = 0; + % for my $station (@{$status->{route_after}}) { + <tr><td><a class="action-cancelled-to" data-station="<%= $station %>"><%= $station %></a></td></tr> + % } + </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> diff --git a/templates/_checked_in.html.ep b/templates/_checked_in.html.ep new file mode 100644 index 0000000..e4afeda --- /dev/null +++ b/templates/_checked_in.html.ep @@ -0,0 +1,85 @@ +<div class="card green darken-4 autorefresh"> + <div class="card-content white-text"> + <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>. + % } + % else { + ab <b><%= $status->{dep_name} %></b>. + % } + </p> + <p> + <b><%= $status->{real_departure}->strftime('%H:%M') %></b> + % if ($status->{real_departure}->epoch != $status->{sched_departure}->epoch) { + (<%= sprintf('%+d', ($status->{real_departure}->epoch - $status->{sched_departure}->epoch)/60) %>) + % } + → + % if ($status->{real_arrival}->epoch) { + <b><%= $status->{real_arrival}->strftime('%H:%M') %></b> + % if ($status->{real_arrival}->epoch != $status->{sched_arrival}->epoch) { + (<%= sprintf('%+d', ($status->{real_arrival}->epoch - $status->{sched_arrival}->epoch)/60) %>) + % } + % } + % else { + unbekannt + % } + </p> + <p> + <div class="center"> + % if ($status->{departure_countdown} > 120) { + Abfahrt in <%= int($status->{departure_countdown} / 60) %> Minuten + % } + % elsif ($status->{arrival_countdown}) { + % if ($status->{arrival_countdown} > 0) { + Ankunft in <%= int($status->{arrival_countdown} / 60) %> + Minute<%= int($status->{arrival_countdown} / 60) == 1 ? '' : 'n' %> + % } + % else { + Ziel erreicht + % } + % } + % elsif ($status->{arr_name}) { + Ankunft in mehr als zwei Stunden + % } + </div> + <div class="progress green darken-3" style="height: 1ex;"> + <div class="determinate white" style="width: <%= sprintf('%.2f', 100 * $status->{journey_completion}); %>%;"></div> + </div> + </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}}) { + % 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> diff --git a/templates/_checked_out.html.ep b/templates/_checked_out.html.ep new file mode 100644 index 0000000..cec61bc --- /dev/null +++ b/templates/_checked_out.html.ep @@ -0,0 +1,12 @@ +<div class="card grey darken-4"> + <div class="card-content white-text"> + <span class="card-title">Ausgecheckt</span> + <p>Aus <%= $status->{train_type} %> <%= $status->{train_no} %> + bis <%= $status->{arr_name} %></p> + </div> + <div class="card-action"> + <a class="action-undo" data-id="<%= $status->{journey_id} %>"> + <i class="material-icons">undo</i> Rückgängig? + </a> + </div> +</div> diff --git a/templates/departures.html.ep b/templates/departures.html.ep index 7d33417..32a4336 100644 --- a/templates/departures.html.ep +++ b/templates/departures.html.ep @@ -16,18 +16,7 @@ </div> % } % elsif ($status->{timestamp_delta} < 180) { - <div class="card grey darken-4"> - <div class="card-content white-text"> - <span class="card-title">Ausgecheckt</span> - <p>Aus <%= $status->{train_type} %> <%= $status->{train_no} %> - bis <%= $status->{arr_name} %></p> - </div> - <div class="card-action"> - <a class="action-undo" data-id="<%= $status->{journey_id} %>"> - <i class="material-icons">undo</i> Rückgängig? - </a> - </div> - </div> + %= include '_checked_out', status => $status; % } </div> </div> diff --git a/templates/landingpage.html.ep b/templates/landingpage.html.ep index 84514c5..83b8303 100644 --- a/templates/landingpage.html.ep +++ b/templates/landingpage.html.ep @@ -12,94 +12,10 @@ </div> % } <div class="row"> - <div class="col s12"> + <div class="col s12 statuscol"> % my $status = get_user_status(); % if ($status->{checked_in}) { - <div class="card green darken-4"> - <div class="card-content white-text"> - <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>. - % } - % else { - ab <b><%= $status->{dep_name} %></b>. - % } - </p> - <p> - <b><%= $status->{real_departure}->strftime('%H:%M') %></b> - % if ($status->{real_departure}->epoch != $status->{sched_departure}->epoch) { - (<%= sprintf('%+d', ($status->{real_departure}->epoch - $status->{sched_departure}->epoch)/60) %>) - % } - → - % if ($status->{real_arrival}->epoch) { - <b><%= $status->{real_arrival}->strftime('%H:%M') %></b> - % if ($status->{real_arrival}->epoch != $status->{sched_arrival}->epoch) { - (<%= sprintf('%+d', ($status->{real_arrival}->epoch - $status->{sched_arrival}->epoch)/60) %>) - % } - % } - % else { - unbekannt - % } - </p> - <p> - <div class="center"> - % if ($status->{departure_countdown} > 120) { - Abfahrt in <%= int($status->{departure_countdown} / 60) %> Minuten - % } - % elsif ($status->{arrival_countdown}) { - % if ($status->{arrival_countdown} > 0) { - Ankunft in <%= int($status->{arrival_countdown} / 60) %> - Minute<%= int($status->{arrival_countdown} / 60) == 1 ? '' : 'n' %> - % } - % else { - Ziel erreicht - % } - % } - % elsif ($status->{arr_name}) { - Ankunft in mehr als zwei Stunden - % } - </div> - <div class="progress green darken-3" style="height: 1ex;"> - <div class="determinate white" style="width: <%= sprintf('%.2f', 100 * $status->{journey_completion}); %>%;"></div> - </div> - </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}}) { - % 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> + %= include '_checked_in', status => $status; % } % elsif ($status->{cancelled}) { <div class="card yellow lighten-4"> diff --git a/templates/layouts/default.html.ep b/templates/layouts/default.html.ep index cdd624a..a2a5648 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 = 'v6'; # asset version + % my $av = 'v7'; # asset version %= stylesheet "/static/${av}/css/materialize.min.css" %= stylesheet "/static/${av}/css/material-icons.css" %= stylesheet "/static/${av}/css/local.css" |