From ffee7177ac26f4e79227cdf0abcd83f80f34faa4 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sun, 7 Apr 2019 18:44:33 +0200 Subject: Refactor history template, add yearly stats --- templates/history.html.ep | 133 +++++++--------------------------------------- 1 file changed, 18 insertions(+), 115 deletions(-) (limited to 'templates/history.html.ep') diff --git a/templates/history.html.ep b/templates/history.html.ep index e65d31f..10cc596 100644 --- a/templates/history.html.ep +++ b/templates/history.html.ep @@ -1,126 +1,29 @@ -% my $since = get_user_data()->{registered_at}; -% my $now = DateTime->now(time_zone => 'Europe/Berlin'); -
-
-
    - - % my $ref = stash('year') ? stash('year') . '/' . stash('month') : ''; - % while ($since < $now) { - % my $link_to = $since->strftime('%Y/%m'); - % my $class = $link_to eq $ref ? 'active' : 'waves-effect'; -
  • <%= $since->strftime('%m.%Y') %>
  • - % $since->add(months => 1)->set(day => 1, hour => 0, minute => 0, second => 0); - % } - -
-
-
-% if (my $stats = stash('statistics')) { -

<%= stash('month_name') %> <%= stash('year') %>

-
-
- - - - - - - - - - - - - - - - - - - - - - - -
Fahrten<%= $stats->{num_journeys} %>
Züge<%= $stats->{num_trains} %>
Entfernungca. <%= sprintf('%.f', $stats->{km_route}) %> km - (Luftlinie: <%= sprintf('%.f', $stats->{km_beeline}) %> km)
Fahrtzeit<%= sprintf('%02d:%02d', $stats->{min_travel_real} / 60, $stats->{min_travel_real} % 60) %> Stunden - (nach Fahrplan: <%= sprintf('%02d:%02d', $stats->{min_travel_sched} / 60, $stats->{min_travel_sched} % 60) %>) -
Wartezeit (nur Umstiege)<%= sprintf('%02d:%02d', $stats->{min_interchange_real} / 60, $stats->{min_interchange_real} % 60) %> Stunden -
Kumulierte VerspätungBei Abfahrt: <%= sprintf('%02d:%02d', $stats->{delay_dep} / 60, $stats->{delay_dep} % 60) %> Stunden
- Bei Ankunft: <%= sprintf('%02d:%02d', $stats->{delay_arr} / 60, $stats->{delay_arr} % 60) %> Stunden
-
-
-% } -% elsif (param('cancelled')) { -

Ausgefallene Fahrten

+

Fahrten

+
- + Hier finden sich alle bisherigen Zugfahrten und Statistiken für jedes + Jahr und jeden Monat.
-% } -% else { -

Fahrten

+
+ +

Nach Jahr

+% my $since = get_user_data()->{registered_at}; +% my $now = DateTime->now(time_zone => 'Europe/Berlin'); +%= include '_history_years', current => '', since => $since->clone, now => $now; + +

Nach Monat

+%= include '_history_months', current => '', since => $since->clone, now => $now; + +% if (stash('statistics')) { + %= include '_history_stats', stats => stash('statistics'); % } -
-
- - - - - - - - - - - % for my $travel (@{$journeys}) { - % if ($travel->{completed}) { - % my $detail_link = '/journey/' . current_user()->{id} . '-' . $travel->{ids}->[1]; - - - - - - - % } - % } - -
DatumZeitZugStrecke
<%= $travel->{sched_departure}->strftime('%d.%m.%Y') %> - % if (param('cancelled') and $travel->{sched_arrival}->epoch != 0) { - %= $travel->{sched_arrival}->strftime('%H:%M') - % } - % else { - % if ($travel->{rt_arrival}->epoch == 0 and $travel->{sched_arrival}->epoch == 0) { - timer_off - % } else { - %= $travel->{rt_arrival}->strftime('%H:%M'); - % if ($travel->{sched_arrival} != $travel->{rt_arrival}) { - (<%= sprintf('%+d', ($travel->{rt_arrival}->epoch - $travel->{sched_arrival}->epoch) / 60) %>) - % } - % } - % } -
- % if (param('cancelled')) { - %= $travel->{sched_departure}->strftime('%H:%M') - % } - % else { - <%= $travel->{rt_departure}->strftime('%H:%M') %> - % if ($travel->{sched_departure} != $travel->{rt_departure}) { - (<%= sprintf('%+d', ($travel->{rt_departure}->epoch - $travel->{sched_departure}->epoch) / 60) %>) - % } - % } -
<%= $travel->{type} %> <%= $travel->{line} // '' %> <%= $travel->{no} %><%= $travel->{from_name} %> → <%= $travel->{to_name} %>
-
-
-- cgit v1.2.3