Add ability to select distance unit
Some checks failed
Some checks failed
This commit is contained in:
@@ -6,6 +6,7 @@ import 'package:go_router/go_router.dart';
|
||||
import 'package:mileograph_flutter/components/traction/traction_card.dart';
|
||||
import 'package:mileograph_flutter/objects/objects.dart';
|
||||
import 'package:mileograph_flutter/services/data_service.dart';
|
||||
import 'package:mileograph_flutter/services/distance_unit_service.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
|
||||
@@ -639,6 +639,7 @@ class _TractionPageState extends State<TractionPage> {
|
||||
|
||||
Widget _buildClassStatsCard(BuildContext context) {
|
||||
final scheme = Theme.of(context).colorScheme;
|
||||
final distanceUnits = context.watch<DistanceUnitService>();
|
||||
if (_classStatsLoading) {
|
||||
return Card(
|
||||
child: Padding(
|
||||
@@ -721,9 +722,27 @@ class _TractionPageState extends State<TractionPage> {
|
||||
children: [
|
||||
_metricTile('Had', hadCount),
|
||||
_metricTile('Entries', entriesWithClass),
|
||||
_metricTile('Avg mi / loco had', avgMileagePerLoco.toStringAsFixed(2)),
|
||||
_metricTile('Avg mi / entry', avgMileagePerEntry.toStringAsFixed(2)),
|
||||
_metricTile('Total mileage', totalMileage.toStringAsFixed(2)),
|
||||
_metricTile(
|
||||
'Avg distance / loco had',
|
||||
distanceUnits.format(
|
||||
avgMileagePerLoco,
|
||||
decimals: 2,
|
||||
),
|
||||
),
|
||||
_metricTile(
|
||||
'Avg distance / entry',
|
||||
distanceUnits.format(
|
||||
avgMileagePerEntry,
|
||||
decimals: 2,
|
||||
),
|
||||
),
|
||||
_metricTile(
|
||||
'Total distance',
|
||||
distanceUnits.format(
|
||||
totalMileage,
|
||||
decimals: 2,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
|
||||
Reference in New Issue
Block a user