Skip to content

Commit ad83cfb

Browse files
committed
changed weight layout, added option to add measurement category, added navigation to measurement
1 parent 1b724f3 commit ad83cfb

File tree

2 files changed

+38
-17
lines changed

2 files changed

+38
-17
lines changed

lib/l10n/app_en.arb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,9 +384,13 @@
384384
"description": "Message shown when the user has no logged weight entries"
385385
},
386386
"noMeasurementEntries": "You have no measurement entries",
387-
"@noMeasurementsntries": {
387+
"@noMeasurementntries": {
388388
"description": "Message shown when the user has no logged measurement entries"
389389
},
390+
"moreMeasurementEntries": "Add new measurement",
391+
"@moreMeasurementEntries": {
392+
"description": "Message shown when the user wants to add new measurement"
393+
},
390394
"edit": "Edit",
391395
"@edit": {},
392396
"loadingText": "Loading...",

lib/widgets/dashboard/widgets.dart

Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import 'package:wger/providers/nutrition.dart';
3131
import 'package:wger/providers/workout_plans.dart';
3232
import 'package:wger/screens/form_screen.dart';
3333
import 'package:wger/screens/gym_mode.dart';
34+
import 'package:wger/screens/measurement_categories_screen.dart';
3435
import 'package:wger/screens/nutritional_plan_screen.dart';
3536
import 'package:wger/screens/weight_screen.dart';
3637
import 'package:wger/screens/workout_plan_screen.dart';
@@ -260,19 +261,6 @@ class _DashboardWeightWidgetState extends State<DashboardWeightWidget> {
260261
FontAwesomeIcons.weight,
261262
color: Colors.black,
262263
),
263-
trailing: IconButton(
264-
icon: const Icon(Icons.add),
265-
onPressed: () async {
266-
Navigator.pushNamed(
267-
context,
268-
FormScreen.routeName,
269-
arguments: FormScreenArguments(
270-
AppLocalizations.of(context).newEntry,
271-
WeightForm(),
272-
),
273-
);
274-
},
275-
),
276264
),
277265
Column(
278266
children: [
@@ -287,13 +275,26 @@ class _DashboardWeightWidgetState extends State<DashboardWeightWidget> {
287275
.toList()),
288276
),
289277
Row(
290-
mainAxisAlignment: MainAxisAlignment.end,
278+
mainAxisAlignment: MainAxisAlignment.spaceBetween,
291279
children: <Widget>[
292280
TextButton(
293281
child: Text(AppLocalizations.of(context).goToDetailPage),
294282
onPressed: () {
295283
Navigator.of(context).pushNamed(WeightScreen.routeName);
296284
}),
285+
IconButton(
286+
icon: const Icon(Icons.add),
287+
onPressed: () async {
288+
Navigator.pushNamed(
289+
context,
290+
FormScreen.routeName,
291+
arguments: FormScreenArguments(
292+
AppLocalizations.of(context).newEntry,
293+
WeightForm(),
294+
),
295+
);
296+
},
297+
),
297298
],
298299
),
299300
],
@@ -326,14 +327,23 @@ class _DashboardMeasurementWidgetState extends State<DashboardMeasurementWidget>
326327
Widget build(BuildContext context) {
327328
final _provider = Provider.of<MeasurementProvider>(context, listen: false);
328329

329-
var items = _provider.categories
330-
.map(
330+
List<Widget> items = _provider.categories
331+
.map<Widget>(
331332
(item) => CategoriesCard(
332333
item,
333334
elevation: 0,
334335
),
335336
)
336337
.toList();
338+
if (items.isNotEmpty) {
339+
items.add(
340+
NothingFound(
341+
AppLocalizations.of(context).moreMeasurementEntries,
342+
AppLocalizations.of(context).newEntry,
343+
MeasurementCategoryForm(),
344+
),
345+
);
346+
}
337347
return Consumer<MeasurementProvider>(
338348
builder: (context, workoutProvider, child) => Card(
339349
child: Column(
@@ -348,6 +358,13 @@ class _DashboardMeasurementWidgetState extends State<DashboardMeasurementWidget>
348358
FontAwesomeIcons.weight,
349359
color: Colors.black,
350360
),
361+
trailing: IconButton(
362+
icon: const Icon(Icons.arrow_forward),
363+
onPressed: () => Navigator.pushNamed(
364+
context,
365+
MeasurementCategoriesScreen.routeName,
366+
),
367+
),
351368
),
352369
Column(
353370
children: [

0 commit comments

Comments
 (0)