130 lines
4.5 KiB
Text
130 lines
4.5 KiB
Text
% if (is_user_authenticated()) {
|
||
% if (stash('error')) {
|
||
<div class="row">
|
||
<div class="col s12">
|
||
<div class="card red darken-4">
|
||
<div class="card-content white-text">
|
||
<span class="card-title">Backend-Fehler</span>
|
||
<p><%= stash('error') %></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
% }
|
||
<div class="row">
|
||
<div class="col s12 statuscol">
|
||
% my $status = get_user_status();
|
||
% if ($status->{checked_in}) {
|
||
%= include '_checked_in', journey => $status;
|
||
% }
|
||
% elsif ($status->{cancelled}) {
|
||
<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>
|
||
% }
|
||
% else {
|
||
<div class="card grey darken-4">
|
||
<div class="card-content white-text">
|
||
<span class="card-title">Hallo, <%= current_user()->{name} %>!</span>
|
||
<p>Du bist gerade nicht eingecheckt.</p>
|
||
<p class="geolocationhint">Stationen in der Umgebung:</p>
|
||
<div class="geolocation">
|
||
<div class="progress"><div class="indeterminate"></div></div>
|
||
</div>
|
||
%= form_for 'list_departures' => begin
|
||
<div class="input-field">
|
||
%= text_field 'station', id => 'station', class => 'autocomplete white-text', required => undef
|
||
<label for="station">Manuelle Eingabe (Name oder DS100)</label>
|
||
</div>
|
||
<div class="center-align">
|
||
<button class="btn waves-effect waves-light btn-flat white" type="submit" name="action" value="departures">
|
||
<i class="material-icons left">send</i>
|
||
Abfahrten
|
||
</button>
|
||
</div>
|
||
%= end
|
||
</div>
|
||
</div>
|
||
% }
|
||
</div>
|
||
</div>
|
||
<h1>Letzte Fahrten</h1>
|
||
%= include '_history_trains', date_format => '%d.%m', journeys => [get_user_travels(limit => 5)];
|
||
% }
|
||
% else {
|
||
<div class="row">
|
||
<div class="col s12">
|
||
<p>
|
||
Travelynx erlaubt das Einchecken in Züge im Netz der Deutschen
|
||
Bahn. So können die eigenen Fahrten später inklusive Echtzeitdaten
|
||
und eingetragenen Servicemeldungen nachvollzogen und brennende
|
||
Fragen wie „Wie viele Stunden habe ich letzten Monat im Zug
|
||
vebracht?“ beantwortet werden.
|
||
</p>
|
||
<p>
|
||
Die Idee dazu kommt von <a
|
||
href="https://traewelling.de/">Träwelling</a>, hier gibt es aber
|
||
keine Twitter-Anbindung und keine öffentlichen Leaderboards.
|
||
</p>
|
||
<p>
|
||
Features:
|
||
<ul>
|
||
<li>Protokoll von Fahrplan- und Echtzeitdaten an Start- und
|
||
Zielbahnhof</li>
|
||
<li>API zum automatisierten Auslesen des aktuellen Status</li>
|
||
<li>Statistiken über Reisezeiten und Verspätungen</li>
|
||
</ul>
|
||
</p>
|
||
<p>
|
||
Travelynx ist ein kostenfreies, privat betriebenes Projekt ohne
|
||
Verfügbarkeitsgarantie. Unangekündigte Downtimes oder eine
|
||
kurzfristige Einstellung dieser Seite sind nicht vorgesehen, aber
|
||
möglich. Wer mag, kann auch den
|
||
<a href="https://finalrewind.org/projects/travelynx">Quelltext</a>
|
||
laden und eine eigene Instanz aufsetzen.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
<div class="row">
|
||
<div class="col s1 m1 l3">
|
||
</div>
|
||
<div class="col s10 m10 l6 center-align">
|
||
<a href="/register" class="waves-effect waves-light btn"><i class="material-icons left">add</i>Registrieren</a>
|
||
<a href="/login" class="waves-effect waves-light btn"><i class="material-icons left">account_circle</i>Anmelden</a>
|
||
</div>
|
||
<div class="col s1 m1 l3">
|
||
</div>
|
||
</div>
|
||
% }
|
||
|
||
<div class="row" style="margin-top: 5em;">
|
||
<div class="col s12 center-align grey-text">
|
||
<a href="impressum">Impressum und Datenschutz</a>
|
||
<span style="margin-left: 0.5em; margin-right: 0.5em;">–</span>
|
||
<a href="https://finalrewind.org/projects/travelynx">travelynx</a> v<%= stash('version') // '???' %>
|
||
</div>
|
||
</div>
|