diff options
Diffstat (limited to 'templates/landingpage.html.ep')
-rw-r--r-- | templates/landingpage.html.ep | 103 |
1 files changed, 66 insertions, 37 deletions
diff --git a/templates/landingpage.html.ep b/templates/landingpage.html.ep index fa9bf8a..5ca0e9e 100644 --- a/templates/landingpage.html.ep +++ b/templates/landingpage.html.ep @@ -1,4 +1,6 @@ % if (is_user_authenticated()) { + % my $status = stash('user_status'); + % my $user = stash('user'); % if (stash('error')) { <div class="row"> <div class="col s12"> @@ -13,21 +15,23 @@ % } <div class="row"> <div class="col s12 statuscol"> - % my $status = get_user_status(); % if ($status->{checked_in}) { - %= include '_checked_in', journey => $status; + %= include '_checked_in', journey => $status, journey_visibility => stash('journey_visibility'); % } % elsif ($status->{cancelled}) { + % if ( @{stash('timeline') // [] } ) { + %= include '_timeline_link', timeline => stash('timeline') + % } <div class="card info-color"> <div class="card-content"> - <span class="card-title">Zugausfall dokumentieren</span> + <span class="card-title">Ausfall dokumentieren</span> <p>Prinzipiell wärest du nun eingecheckt in - <%= $status->{train_type} %> <%= $status->{train_no} %> - ab <%= $status->{dep_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 die geplante - Zielstation aus.</p> + %= include '_format_train', journey => $status + ab <%= $status->{dep_name} %>, doch diese Fahrt fällt aus. + </p> + <p>Falls du den Ausfall z.B. für Fahrgastrechte + dokumentieren möchtest, wähle bitte jetzt das + vorgesehene Ziel aus.</p> <table> <tbody> % my $is_after = 0; @@ -45,42 +49,68 @@ </div> % } % else { - <div class="card"> - <div class="card-content"> - <span class="card-title">Hallo, <%= current_user->{name} %>!</span> - <p>Du bist gerade nicht eingecheckt.</p> - <div class="geolocation"> - <button class="btn waves-effect waves-light btn-flat">Stationen in der Umgebung abfragen</button> - </div> - %= form_for 'list_departures' => begin + % if ( @{stash('timeline') // [] } ) { + %= include '_timeline_link', timeline => stash('timeline') + % } + %= form_for 'list_departures' => begin + <div class="card"> + <div class="card-content"> + <span class="card-title">Hallo, <%= $user->{name} %>!</span> + <p>Du bist gerade nicht eingecheckt.</p> + <div class="geolocation" data-recent="<%= join('|', map { $_->{external_id_or_eva} . ';' . $_->{name} . ';' . $_->{dbris} . ';' . $_->{efa} . ';' . $_->{hafas} . ';' . $_->{motis} } @{stash('recent_targets') // []} ) %>" data-backend="<%= $user->{backend_id} %>"> + <a class="btn waves-effect waves-light btn-flat request">Stationen in der Umgebung abfragen</a> + </div> + %= hidden_field backend_dbris => $user->{backend_dbris} <div class="input-field"> %= text_field 'station', id => 'station', class => 'autocomplete contrast-color-text', autocomplete => 'off', required => undef - <label for="station">Manuelle Eingabe (Name oder DS100)</label> + <label for="station">Manuelle Eingabe</label> </div> - <div class="center-align"> - <button class="btn waves-effect waves-light btn-flat" type="submit" name="action" value="departures"> - <i class="material-icons left" aria-hidden="true">send</i> - Abfahrten - </button> - </div> - %= end + </div> + <div class="card-action"> + <a href="/account/select_backend?redirect_to=/" class="btn btn-flat"><i class="material-icons left" aria-hidden="true"><%= $user->{backend_hafas} ? 'directions' : 'train' %></i><%= $user->{backend_name} // 'IRIS' %></a> + <button class="btn right waves-effect waves-light btn-flat" type="submit" name="action" value="departures"> + <i class="material-icons left" aria-hidden="true">send</i> + Abfahrten + </button> + </div> </div> - </div> + %= end % } </div> </div> - <h1>Letzte Fahrten</h1> - %= include '_history_trains', date_format => '%d.%m', journeys => [journeys->get(uid => current_user->{id}, limit => 5, with_datetime => 1)]; + % if (not $user->{backend_name}) { + <div class="row"> + <div class="col s12"> + <div class="card purple white-text"> + <div class="card-content"> + <span class="card-title">Legacy-Backend ausgewählt</span> + <p> + Das aktuell aktive IRIS-Backend wird nicht mehr weiterentwickelt und voraussichtlich bald von der Deutschen Bahn abgeschaltet. + Schon jetzt ist die Datenqualität wegen zunehmend schlechter Datenaufbereitungsmöglichkeiten oft unzureichend. + Das bahn.de-Backend ist in fast jeder Hinsicht besser geeignet; lediglich bei Verspätungs- und Servicemeldungen ist es geringfügig weniger detailliert und Checkin-Vorschläge werden derzeit nicht unterstützt. + </p> + </div> + <div class="card-action"> + <a class="btn btn-flat" href="/account/select_backend?redirect_to=/">Backend wechseln</a> + </div> + </div> + </div> + </div> + % } + <h2 style="margin-left: 0.75rem;">Letzte Fahrten</h2> + %= include '_history_trains', date_format => '%d.%m.%Y', journeys => [journeys->get(uid => $user->{id}, limit => 5, with_datetime => 1)]; % } % 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. + Travelynx erlaubt das Einchecken in Verkehrsmittel (Busse, + Bahnen, Züge) unter anderem in Deutschland, Österreich, der + Schweiz, Luxemburg, Irland, Dänemark und Teilen der USA. So + können die eigenen Fahrten später inklusive Echtzeitdaten und + eingetragenen Servicemeldungen nachvollzogen und brennende + Fragen wie „Wie viele Stunden war ich letzten Monat unterwegs?“ + beantwortet werden. </p> <p> Die Idee dazu kommt von <a @@ -91,11 +121,12 @@ <ul> <li>Protokoll von Fahrplan- und Echtzeitdaten an Start- und Zielbahnhof</li> + <li>Teilen von aktuellen und vergangenen Fahrten mit anderen Personen</li> <li>Web-Hooks und <a href="/api">API</a> zum automatisierten Einchecken und Auslesen des aktuellen Status</li> <li>Statistiken über Reisezeiten und Verspätungen</li> <li>Unterstützung beim Ausfüllen von Fahrgastrechteformularen</li> - <li>Optional: Öffentliches Profil und Reisestatus</li> - <li>Optional: Verknüpfung mit Träwelling</li> + <li>Optional: Öffentlicher Reisestatus und öffentliche Angaben zu vergangenen Fahrten</li> + <!-- <li>Optional: Verknüpfung mit Träwelling</li> --> </ul> </p> <p> @@ -121,5 +152,3 @@ </div> </div> % } - -%= include '_footer', version => stash('version') |