travelynx/templates/landingpage.html.ep

131 lines
4.9 KiB
Text
Raw Normal View History

2019-03-07 17:36:11 +00:00
% if (is_user_authenticated()) {
% my $status = stash('user_status');
% if (stash('error')) {
<div class="row">
<div class="col s12">
<div class="card caution-color">
<div class="card-content white-text">
<span class="card-title">Backend-Fehler</span>
<p><%= stash('error') %></p>
</div>
</div>
</div>
</div>
% }
2019-03-07 17:36:11 +00:00
<div class="row">
<div class="col s12 statuscol">
2019-03-07 17:36:11 +00:00
% if ($status->{checked_in}) {
%= include '_checked_in', journey => $status, journey_visibility => stash('journey_visibility');
2019-03-07 17:36:11 +00:00
% }
2019-03-19 17:20:05 +00:00
% elsif ($status->{cancelled}) {
2023-07-15 17:20:37 +00:00
% if ( @{stash('timeline') // [] } ) {
%= include '_timeline_link', timeline => stash('timeline')
% }
<div class="card info-color">
2019-03-19 17:20:05 +00:00
<div class="card-content">
2023-08-14 10:24:26 +00:00
<span class="card-title">Ausfall dokumentieren</span>
2019-03-19 17:20:05 +00:00
<p>Prinzipiell wärest du nun eingecheckt in
<%= $status->{train_type} %> <%= $status->{train_no} %>
2023-08-14 10:24:26 +00:00
ab <%= $status->{dep_name} %>, doch diese Fahrt fällt aus.
2019-03-19 17:20:05 +00:00
</p>
2023-08-14 10:24:26 +00:00
<p>Falls du den Ausfall z.B. für Fahrgastrechte
dokumentieren möchtest, wähle bitte jetzt das
vorgesehene Ziel aus.</p>
2019-03-19 17:20:05 +00:00
<table>
<tbody>
% my $is_after = 0;
% for my $station (@{$status->{route_after}}) {
<tr><td><a class="action-cancelled-to" data-station="<%= $station->[0] %>"><%= $station->[0] %></a></td></tr>
2019-03-19 17:20:05 +00:00
% }
</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>
2019-03-19 17:20:05 +00:00
</div>
% }
2019-03-07 17:36:11 +00:00
% else {
2023-07-15 17:20:37 +00:00
% if ( @{stash('timeline') // [] } ) {
%= include '_timeline_link', timeline => stash('timeline')
% }
<div class="card">
<div class="card-content">
<span class="card-title">Hallo, <%= current_user->{name} %>!</span>
2019-03-07 17:36:11 +00:00
<p>Du bist gerade nicht eingecheckt.</p>
2023-08-16 07:31:01 +00:00
<div class="geolocation" data-recent="<%= join('|', map { $_->{eva} . ';' . $_->{name} . ';' . $_->{hafas} } @{stash('recent_targets') // []} ) %>">
<button class="btn waves-effect waves-light btn-flat">Stationen in der Umgebung abfragen</button>
2019-03-07 17:36:11 +00:00
</div>
%= form_for 'list_departures' => begin
<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>
</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
2018-10-07 09:35:47 +00:00
</div>
2018-09-02 19:41:33 +00:00
</div>
2019-03-07 17:36:11 +00:00
% }
</div>
2018-09-02 19:41:33 +00:00
</div>
2019-03-07 17:36:11 +00:00
<h1>Letzte Fahrten</h1>
%= include '_history_trains', date_format => '%d.%m', journeys => [journeys->get(uid => current_user->{id}, limit => 5, with_datetime => 1)];
2019-03-07 17:36:11 +00:00
% }
% 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
2023-08-14 10:24:26 +00:00
Fragen wie „Wie viele Stunden war ich letzten Monat unterwegs?“
beantwortet werden.
</p>
<p>
Die Idee dazu kommt von <a
2019-05-11 13:45:16 +00:00
href="https://traewelling.de/">Träwelling</a>.
2019-03-16 13:36:35 +00:00
</p>
<p>
Features:
<ul>
<li>Protokoll von Fahrplan- und Echtzeitdaten an Start- und
Zielbahnhof</li>
<li>Teilen von aktuellen und vergangenen Fahrten mit anderen Personen</li>
2020-02-26 19:38:01 +00:00
<li>Web-Hooks und <a href="/api">API</a> zum automatisierten Einchecken und Auslesen des aktuellen Status</li>
2019-04-06 19:32:18 +00:00
<li>Statistiken über Reisezeiten und Verspätungen</li>
<li>Unterstützung beim Ausfüllen von Fahrgastrechteformularen</li>
<li>Optional: Öffentlicher Reisestatus und öffentliche Angaben zu vergangenen Fahrten</li>
2020-10-04 10:50:41 +00:00
<li>Optional: Verknüpfung mit Träwelling</li>
2019-03-16 13:36:35 +00:00
</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>
2019-03-16 13:36:35 +00:00
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">
% if (not app->config->{registration}{disabled}) {
<a href="/register" class="waves-effect waves-light btn"><i class="material-icons left" aria-hidden="true">add</i>Registrieren</a>
% }
<a href="/login" class="waves-effect waves-light btn"><i class="material-icons left" aria-hidden="true">account_circle</i>Anmelden</a>
</div>
<div class="col s1 m1 l3">
</div>
</div>
2019-03-07 17:36:11 +00:00
% }