{{ trans('stats.checkins', {}, 'Check-ins') }}
+{{ data!.summary.total_checkins }}
+{{ trans('stats.total-distance', {}, 'Total Distance') }}
+{{ data!.summary.total_distance_km }} km
+{{ trans('stats.mean-distance', {}, 'Mean Distance') }}
+{{ data!.summary.mean_distance_km }} km
+{{ trans('stats.travel-days', {}, 'Travel Days') }}
+{{ data!.summary.active_days }}
+{{ data!.summary.longest_ride.distance_km }} km
++ {{ data!.summary.longest_ride.origin ?? '?' }} → {{ data!.summary.longest_ride.destination ?? '?' }} +
+{{ formatDate(data!.summary.longest_ride.departure) }}
++ {{ data!.summary.longest_ride.operator }} +
+{{ data!.summary.shortest_ride.distance_km }} km
++ {{ data!.summary.shortest_ride.origin ?? '?' }} → {{ data!.summary.shortest_ride.destination ?? '?' }} +
+{{ formatDate(data!.summary.shortest_ride.departure) }}
++ {{ data!.summary.shortest_ride.operator }} +
+{{ trans('stats.checkins', {}, 'Check-ins') }}
+{{ data!.predefined_periods.last_week.total_checkins }}
+{{ trans('stats.distance', {}, 'Distance') }}
+{{ data!.predefined_periods.last_week.total_distance_km }} km
+{{ trans('stats.checkins', {}, 'Check-ins') }}
+{{ data!.predefined_periods.last_month.total_checkins }}
+{{ trans('stats.distance', {}, 'Distance') }}
+{{ data!.predefined_periods.last_month.total_distance_km }} km
+{{ trans('stats.checkins', {}, 'Check-ins') }}
+{{ data!.predefined_periods.last_year.total_checkins }}
+{{ trans('stats.distance', {}, 'Distance') }}
+{{ data!.predefined_periods.last_year.total_distance_km }} km
+| {{ trans('stats.year', {}, 'Year') }} | +{{ trans('stats.checkins', {}, 'Check-ins') }} | +{{ trans('stats.distance', {}, 'Distance') }} | +{{ trans('stats.avg', {}, 'Average') }} | +
|---|---|---|---|
| {{ getPeriodLabel(row.period, row.period_type) }} | +{{ row.checkin_count }} | +{{ row.distance_km }} km | +{{ averageDistance(row.distance_km, row.checkin_count) }} km | +
| {{ trans('stats.month', {}, 'Month') }} | +{{ trans('stats.checkins', {}, 'Check-ins') }} | +{{ trans('stats.distance', {}, 'Distance') }} | +{{ trans('stats.avg', {}, 'Average') }} | +
|---|---|---|---|
| {{ getPeriodLabel(row.period, row.period_type) }} | +{{ row.checkin_count }} | +{{ row.distance_km }} km | +{{ averageDistance(row.distance_km, row.checkin_count) }} km | +
| #{{ i + 1 }} | +{{ station.name }} | +{{ station.count }}x | +
| #{{ i + 1 }} | +
+ {{ line.linename }} +{{ line.distance_km }} km total + |
+ {{ line.count }}x | +
| #{{ i + 1 }} | +
+ {{ route.origin }} → {{ route.destination }} +{{ route.distance_km }} km total + |
+ {{ route.count }}x | +
+ {{ trans('stats.personal', { fromDate: from.toLocaleDateString(), toDate: until.toLocaleDateString() }) }} +
{{ data.summary.total_checkins }}
+{{ data.summary.total_distance_km }} km
+{{ data.summary.mean_distance_km }} km
+{{ data.summary.active_days }}
++ {{ data.summary.longest_ride.distance_km }} km + + · {{ data.summary.longest_ride.linename }} + + + · {{ data.summary.longest_ride.number }} + +
+ + {{ data.summary.longest_ride.origin ?? '?' }} → {{ data.summary.longest_ride.destination ?? '?' }} + ++ {{ data.summary.shortest_ride.distance_km }} km + + · {{ data.summary.shortest_ride.linename }} + + + · {{ data.summary.shortest_ride.number }} + +
+ + {{ data.summary.shortest_ride.origin ?? '?' }} → {{ data.summary.shortest_ride.destination ?? '?' }} + +{{ data.predefined_periods.last_week.total_checkins }}
+{{ data.predefined_periods.last_week.total_distance_km }} km
+{{ data.predefined_periods.last_month.total_checkins }}
+{{ data.predefined_periods.last_month.total_distance_km }} km
+{{ data.predefined_periods.last_year.total_checkins }}
+{{ data.predefined_periods.last_year.total_distance_km }} km
+| {{ trans('stats.year', {}, 'Year') }} | +{{ trans('stats.checkins', {}, 'Check-ins') }} | +{{ trans('stats.distance', {}, 'Distance') }} | +{{ trans('stats.avg', {}, 'Average') }} | +
|---|---|---|---|
| {{ getPeriodLabel(row.period, row.period_type) }} | +{{ row.checkin_count }} | +{{ row.distance_km }} km | ++ {{ + row.checkin_count > 0 + ? (row.distance_km / row.checkin_count).toFixed(2) + : '0.00' + }} + km + | +
| {{ trans('stats.month', {}, 'Month') }} | +{{ trans('stats.checkins', {}, 'Check-ins') }} | +{{ trans('stats.distance', {}, 'Distance') }} | +{{ trans('stats.avg', {}, 'Average') }} | +
|---|---|---|---|
| {{ getPeriodLabel(row.period, row.period_type) }} | +{{ row.checkin_count }} | +{{ row.distance_km }} km | ++ {{ + row.checkin_count > 0 + ? (row.distance_km / row.checkin_count).toFixed(2) + : '0.00' + }} + km + | +
| #{{ Number(i) + 1 }} | +{{ station.name }} | ++ {{ station.count }}x + | +
| #{{ Number(i) + 1 }} | +
+ {{ line.linename }}
+ {{ line.distance_km }} km total
+ |
+ + {{ line.count }}x + | +
| #{{ Number(i) + 1 }} | +
+ {{ route.origin }} → {{ route.destination }}
+ {{ route.distance_km }} km total
+ |
+ + {{ route.count }}x + | +