travelynx/templates/year_in_review.html.ep
2022-12-30 16:46:56 +01:00

171 lines
8.5 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="row">
<div class="col s12 m12 l12">
<div class="carousel carousel-slider center">
<div class="carousel-item" href="#one">
<h2>Jahresrückblick <%= $year %></h2>
<p>
Du hast in diesem Jahr <strong><%= $stats->{num_trains} %> Fahrten</strong> von und zu <strong><%= $review->{num_stops} %> Betriebsstellen</strong> in travelynx erfasst.
% if ($stats->{num_trains} > 365) {
Das sind mehr als <strong><%= $review->{trains_per_day} %> Züge pro Tag</strong>!
% }
</p>
<p>
% if ($review->{traveling_min_total} > 525) {
Insgesamt hast du mindestens <strong><%= $review->{traveling_percentage_year} %> des Jahres</strong>
(<%= $review->{traveling_time_year} %>) in Zügen und auf Bahnhöfen verbracht.
% }
% else {
Insgesamt hast du mindestens <strong><%= $review->{traveling_time_year} %></strong> in Zügen und auf Bahnhöfen verbracht.
% }
</p>
<p>
Dabei hast du ca. <strong><%= $review->{km_route} %> km</strong> (Luftlinie: <%= $review->{km_beeline} %> km) auf Schienen zurückgelegt.
% if ($review->{km_circle} > 1) {
Das entspricht <strong><%= $review->{km_circle_h} %> Fahrten um die Erde</strong>.
% }
% elsif ($review->{km_diag} > 1) {
Das entspricht <strong><%= $review->{km_diag_h} %> Reisen zum Mittelpunkt der Erde und zurück</strong>.
% }
</p>
<p>
<em>Hier streichen</em> 🐈 <em>oder unten klicken für nächste Seite</em>
</p>
</div>
<div class="carousel-item" href="#two">
<h2>Eine typische Zugfahrt</h2>
<p>
% if ($review->{typical_stops_3} and $review->{typical_type_1}) {
… führte dich mit
% if ($review->{typical_type_1} eq 'S') {
einer <strong>S-Bahn</strong>
% }
% else {
einem <strong><%= $review->{typical_type_1} %></strong>
% }
durch das Dreieck <strong><%= join(' / ', @{$review->{typical_stops_3}}) %></strong>.
% }
% elsif ($review->{typical_stops_2}) {
… befand sich jederzeit auf deiner Pendelstrecke zwischen <strong><%= $review->{typical_stops_2}[0] %></strong> und <strong><%= $review->{typical_stops_2}[1] %></strong>.
% }
</p>
<p>
Im Mittel benötigte sie <strong><%= $review->{typical_time} %></strong> für eine Entfernung von ca. <strong><%= $review->{typical_km} %> km</strong> (<%= $review->{typical_kmh} %> km/h).
</p>
% if ($review->{typical_delay_dep} == 0 and $review->{typical_delay_arr} == 0) {
<p>Außerdem war sie <strong>komplett pünktlich</strong>. Beeindruckend!</p>
% }
% elsif ($review->{typical_delay_dep} > 0 and $review->{typical_delay_arr} > 0) {
<p>Sie fuhr <strong><%= $review->{typical_delay_dep_h} %></strong> zu spät
% if ($review->{typical_delay_arr} < $review->{typical_delay_dep}) {
ab, konnte aber einen Teil der Verspätung wieder herausholen.
Ihr Ziel erreichte sie nur noch <strong><%= $review->{typical_delay_arr_h} %></strong> später als vorgesehen.
% }
% elsif ($review->{typical_delay_arr} == $review->{typical_delay_dep}) {
ab und kam mit der gleichen Verspätung am Ziel an.
% }
% else {
ab und schlich mit <strong>+<%= $review->{typical_delay_arr} %></strong> ins Ziel.
% }
% }
</div>
<div class="carousel-item" href="#three">
<h2>High Scores</h2>
% if ($review->{longest_t_id}) {
<p><a href="/journey/<%= $review->{longest_t_id} %>">Längste Zugfahrt</a>:
<strong><%= $review->{longest_t_time} %></strong> mit <strong><%= $review->{longest_t_type} %> <%= $review->{longest_t_lineno} %></strong> von <%= $review->{longest_t_from} %> nach <%= $review->{longest_t_to} %>.</p>
% if ($review->{longest_km_id} == $review->{longest_t_id}) {
<p>Mit <strong><%= $review->{longest_km_km} %> km</strong> war sie gleichzeitig deine weiteste Fahrt.</p>
% }
% }
% if ($review->{longest_km_id} and $review->{longest_km_id} != $review->{longest_t_id}) {
<p><a href="/journey/<%= $review->{longest_km_id} %>">Größte Entfernung</a>:
<strong><%= $review->{longest_km_km} %> km</strong> mit <strong><%= $review->{longest_km_type} %> <%= $review->{longest_km_lineno} %></strong> von <%= $review->{longest_km_from} %> nach <%= $review->{longest_km_to} %>.</p>
% }
% if ($review->{shortest_t_id}) {
<p><a href="/journey/<%= $review->{shortest_t_id} %>">Kürzeste Zugfahrt</a>:
<strong><%= $review->{shortest_t_time} %></strong> mit <strong><%= $review->{shortest_t_type} %> <%= $review->{shortest_t_lineno} %></strong> von <%= $review->{shortest_t_from} %> nach <%= $review->{shortest_t_to} %>.</p>
% if ($review->{shortest_km_id} == $review->{shortest_t_id}) {
<p>Mit <strong><%= $review->{shortest_km_m} %> m</strong> war sie gleichzeitig dein kleinster Katzensprung.</p>
% }
% }
% if ($review->{shortest_km_id} and $review->{shortest_km_id} != $review->{shortest_t_id}) {
<p><a href="/journey/<%= $review->{shortest_km_id} %>">Kleinster Katzensprung</a>:
<strong><%= $review->{shortest_km_m} %> m</strong> mit <strong><%= $review->{shortest_km_type} %> <%= $review->{shortest_km_lineno} %></strong> von <%= $review->{shortest_km_from} %> nach <%= $review->{shortest_km_to} %>.</p>
% }
</div>
<div class="carousel-item" href="#four">
<h2>Oepsie Woepsie</h2>
% if ($review->{issue1_count}) {
<p><strong><%= $review->{issue_percent} %></strong> aller Fahrten liefen nicht wie vorgesehen ab.<br/>
Die häufigsten Anmerkungen waren:</p>
% for my $i (1 .. 3) {
% if ($review->{"issue${i}_count"}) {
<p><strong><%= $review->{"issue${i}_count"} %>×</strong> „<%= $review->{"issue${i}_text"} %>“</p>
% }
% }
% }
<p>Lediglich <strong><%= $review->{punctual_percent_h} %></strong> der Züge waren pünktlich auf die Minute.</p>
</div>
<div class="carousel-item" href="#five">
<h2>De trein is stukkie wukkie</h2>
<p>
% if ($review->{fgr_percent} >= 0.1) {
<strong><%= $review->{fgr_percent_h} %></strong> deiner Fahrten hatten mindestens eine Stunde Verspätung
% }
% if ($review->{cancel_count}) {
% if ($review->{fgr_percent} >= 0.1) {
und <strong><%= $review->{cancel_count} %></strong> Züge kamen gar nicht erst am Ziel an.
% }
% else {
<strong><%= $review->{cancel_count} %></strong> deiner geplanten Fahrten sind ausgefallen.
% }
% }
</p>
% if ($review->{most_delayed_id}) {
<p>
Mit <strong><%= $review->{most_delayed_delay_arr} %></strong> hatte <a href="/journey/<%= $review->{most_delayed_id} %>"><%= $review->{most_delayed_type} %> <%= $review->{most_delayed_lineno} %></a> <%= $review->{most_delayed_from} %> → <%= $review->{most_delayed_to} %> die größte Verspätung.
</p>
% }
% if ($review->{most_delay_id}) {
<p>
Die Fahrt mit <a href="/journey/<%= $review->{most_delay_id} %>"><%= $review->{most_delay_type} %> <%= $review->{most_delay_lineno} %></a>
von <%= $review->{most_delay_from} %> nach <%= $review->{most_delay_to} %> verlief besonders gemächlich:
sie dauerte <strong><%= $review->{most_delay_delta} %></strong> länger als geplant.
</p>
% }
% if ($review->{most_undelay_id}) {
<p>
In <a href="/journey/<%= $review->{most_undelay_id} %>"><%= $review->{most_undelay_type} %> <%= $review->{most_undelay_lineno} %></a>
wurde hingegen Vmax ausgereizt und die Strecke von
<%= $review->{most_undelay_from} %> nach <%= $review->{most_undelay_to} %>
<strong><%= $review->{most_undelay_delta} %></strong> schneller absolviert als vorgesehen.
</p>
% }
</div>
<div class="carousel-item" href="#six">
<h2>Last, but not least</h2>
% if ($review->{top_trip_count}) {
<p>
<strong><%= $review->{top_trip_percent_h} %></strong> deiner Check-Ins konzentrierten sich auf diese Strecken:<br/>
% for my $i (0 .. $#{$review->{top_trips}}) {
% my $trip = $review->{top_trips}[$i];
<%= join(q{ }, @{$trip}) %><br/>
% }
</p>
% }
% if ($review->{single_trip_count}) {
<p>
<a href="/history/<%= $year %>?filter=single"><strong><%= $review->{single_trip_percent_h} %></strong> aller Verbindungen</a> bist du nur genau <strong>einmal</strong> gefahren. Zum Beispiel:<br/>
% for my $i (0 .. $#{$review->{single_trips}}) {
% my $trip = $review->{single_trips}[$i];
<%= $trip->[0] %> → <%= $trip->[1] %><br/>
% }
</p>
% }
<p><em>Thank you for traveling with travelynx</em></p>
</div>
</div>
</div>
</div>
%= include '_footer', version => stash('version')