Add ability to select distance unit
Some checks failed
Some checks failed
This commit is contained in:
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:mileograph_flutter/components/legs/leg_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';
|
||||
|
||||
class LegsPage extends StatefulWidget {
|
||||
@@ -90,6 +91,7 @@ class _LegsPageState extends State<LegsPage> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final data = context.watch<DataService>();
|
||||
final distanceUnits = context.watch<DistanceUnitService>();
|
||||
final legs = data.legs;
|
||||
final pageMileage = _pageMileage(legs);
|
||||
|
||||
@@ -121,7 +123,7 @@ class _LegsPageState extends State<LegsPage> {
|
||||
children: [
|
||||
Text('Page mileage',
|
||||
style: Theme.of(context).textTheme.labelSmall),
|
||||
Text('${pageMileage.toStringAsFixed(1)} mi',
|
||||
Text(distanceUnits.format(pageMileage, decimals: 1),
|
||||
style: Theme.of(context)
|
||||
.textTheme
|
||||
.titleMedium
|
||||
@@ -212,7 +214,7 @@ class _LegsPageState extends State<LegsPage> {
|
||||
else
|
||||
Column(
|
||||
children: [
|
||||
..._buildLegsWithDividers(context, legs),
|
||||
..._buildLegsWithDividers(context, legs, distanceUnits),
|
||||
const SizedBox(height: 8),
|
||||
if (data.legsHasMore || data.isLegsLoading)
|
||||
Align(
|
||||
@@ -239,7 +241,11 @@ class _LegsPageState extends State<LegsPage> {
|
||||
);
|
||||
}
|
||||
|
||||
List<Widget> _buildLegsWithDividers(BuildContext context, List<Leg> legs) {
|
||||
List<Widget> _buildLegsWithDividers(
|
||||
BuildContext context,
|
||||
List<Leg> legs,
|
||||
DistanceUnitService distanceUnits,
|
||||
) {
|
||||
final widgets = <Widget>[];
|
||||
String? currentDate;
|
||||
double dayMileage = 0;
|
||||
@@ -261,10 +267,8 @@ class _LegsPageState extends State<LegsPage> {
|
||||
),
|
||||
),
|
||||
),
|
||||
Text(
|
||||
'${dayMileage.toStringAsFixed(1)} mi',
|
||||
style: Theme.of(context).textTheme.labelMedium,
|
||||
),
|
||||
Text(distanceUnits.format(dayMileage, decimals: 1),
|
||||
style: Theme.of(context).textTheme.labelMedium),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user