Logged values added to bar chart

This commit is contained in:
Ady
2021-12-14 12:47:05 +01:00
parent fd3e635c3d
commit 90707971fb
2 changed files with 29 additions and 11 deletions

View File

@@ -20,6 +20,7 @@ import 'package:charts_flutter/flutter.dart' as charts;
import 'package:charts_flutter/flutter.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:wger/models/nutrition/log.dart';
import 'package:wger/models/nutrition/nutritional_plan.dart';
import 'package:wger/models/nutrition/nutritional_values.dart';
import 'package:wger/theme/theme.dart';
@@ -126,14 +127,26 @@ class NutritionalDiaryChartWidget extends StatelessWidget {
class NutritionalPlanHatchBarChartWidget extends StatelessWidget {
final NutritionalValues _nutritionalValues;
final List<Log> _nutritionalPlanLogs;
/// [_nutritionalValues] are the calculated [NutritionalValues] for the wanted
/// plan.
const NutritionalPlanHatchBarChartWidget(this._nutritionalValues);
const NutritionalPlanHatchBarChartWidget(this._nutritionalValues, this._nutritionalPlanLogs);
NutritionalValues sumNutritionalValuesFromPlanLogs() {
NutritionalValues test = NutritionalValues();
for(final nutritionalValues in _nutritionalPlanLogs) {
test += nutritionalValues.nutritionalValues;
}
return test;
}
@override
Widget build(BuildContext context) {
NutritionalValues loggedNutritionalValues = sumNutritionalValuesFromPlanLogs();
if (_nutritionalValues.energy == 0) {
return Container();
}
@@ -190,35 +203,35 @@ class NutritionalPlanHatchBarChartWidget extends StatelessWidget {
data: [
NutritionData(
AppLocalizations.of(context).energy,
0
loggedNutritionalValues.energy
),
NutritionData(
AppLocalizations.of(context).protein,
0
loggedNutritionalValues.protein
),
NutritionData(
AppLocalizations.of(context).carbohydrates,
0
loggedNutritionalValues.carbohydrates
),
NutritionData(
AppLocalizations.of(context).sugars,
0
loggedNutritionalValues.carbohydratesSugar
),
NutritionData(
AppLocalizations.of(context).fat,
0
loggedNutritionalValues.fat
),
NutritionData(
AppLocalizations.of(context).saturatedFat,
0,
loggedNutritionalValues.fatSaturated
),
NutritionData(
AppLocalizations.of(context).fibres,
0
loggedNutritionalValues.fibres
),
NutritionData(
AppLocalizations.of(context).sodium,
0
loggedNutritionalValues.sodium
),
],
),

View File

@@ -205,10 +205,15 @@ class NutritionalPlanDetailWidget extends StatelessWidget {
),
),
const Padding(padding: EdgeInsets.all(8.0)),
Text(
'Planned / Logged / 7 Day Average',
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.headline6,
),
Container(
padding: const EdgeInsets.all(15),
height: 220,
child: NutritionalPlanHatchBarChartWidget(nutritionalValues),
height: 300,
child: NutritionalPlanHatchBarChartWidget(nutritionalValues, _nutritionalPlan.logs),
),
const Padding(padding: EdgeInsets.all(8.0)),
Text(