From 00caf09d0d3bb3c415bd7e01be75bec4b121e1e8 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Mon, 30 Aug 2021 20:27:57 +0200 Subject: [PATCH] Show measurement category name in the top navigation bar This makes it easier to keep the orientation in the app --- lib/l10n/app_en.arb | 4 ---- lib/screens/measurement_entries_screen.dart | 10 ++++++---- lib/widgets/measurements/entries.dart | 11 ++++++----- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index e230d949..722b1aa1 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -263,10 +263,6 @@ "description": "Categories for the measurements such as biceps size, body fat, etc." }, "measurementCategoriesHelpText": "Measurement category, such as 'biceps' or 'body fat'", - "measurementEntries": "Measurement entries", - "@measurementEntries": { - "description": "Specific entries for the measurements" - }, "measurementEntriesHelpText": "The unit used to measure the category such as 'cm' or '%'", "date": "Date", "@date": { diff --git a/lib/screens/measurement_entries_screen.dart b/lib/screens/measurement_entries_screen.dart index 78a412f8..1056eaba 100644 --- a/lib/screens/measurement_entries_screen.dart +++ b/lib/screens/measurement_entries_screen.dart @@ -29,11 +29,13 @@ class MeasurementEntriesScreen extends StatelessWidget { @override Widget build(BuildContext context) { - final category = ModalRoute.of(context)!.settings.arguments as int; + final categoryId = ModalRoute.of(context)!.settings.arguments as int; + final category = + Provider.of(context, listen: false).findCategoryById(categoryId); return Scaffold( appBar: AppBar( - title: Text(AppLocalizations.of(context).measurementEntries), + title: Text(category.name), ), floatingActionButton: FloatingActionButton( child: const Icon(Icons.add), @@ -43,13 +45,13 @@ class MeasurementEntriesScreen extends StatelessWidget { FormScreen.routeName, arguments: FormScreenArguments( AppLocalizations.of(context).newEntry, - MeasurementEntryForm(category), + MeasurementEntryForm(categoryId), ), ); }, ), body: Consumer( - builder: (context, provider, child) => EntriesList(), + builder: (context, provider, child) => EntriesList(category), ), ); } diff --git a/lib/widgets/measurements/entries.dart b/lib/widgets/measurements/entries.dart index 43046215..fa588207 100644 --- a/lib/widgets/measurements/entries.dart +++ b/lib/widgets/measurements/entries.dart @@ -29,13 +29,13 @@ import 'package:wger/widgets/core/charts.dart'; import 'forms.dart'; class EntriesList extends StatelessWidget { - late MeasurementCategory _category; + MeasurementCategory _category; + + EntriesList(MeasurementCategory this._category); Future _loadEntries(BuildContext context) async { final provider = Provider.of(context, listen: false); - final int categoryId = ModalRoute.of(context)!.settings.arguments as int; - await provider.fetchAndSetCategoryEntries(categoryId); - _category = provider.findCategoryById(categoryId); + await provider.fetchAndSetCategoryEntries(_category.id!); return _category; } @@ -54,7 +54,8 @@ class EntriesList extends StatelessWidget { : Column( children: [ Container( - padding: EdgeInsets.all(15), + color: Colors.white, + padding: EdgeInsets.all(10), height: 220, child: MeasurementChartWidget(_category.entries .map((e) => MeasurementChartEntry(e.value, e.date))