feat(diary): Consumed surpasses recomended value alert

This commit is contained in:
2024-03-26 16:52:09 +03:00
parent 392d03250d
commit 825c2ddc2d

View File

@@ -228,8 +228,8 @@ class DiaryEditScreen extends StatelessWidget {
List<String> _options =
state.autocompleteList!.map((dynamic item) => item as String).toList();
//print(_options);
FocusNode? focusNodeName;
FocusNode? focusNodeQuantity;
FocusNode focusNodeName = FocusNode();
FocusNode focusNodeQuantity = FocusNode();
return Container(
margin: EdgeInsets.symmetric(horizontal: 16.h),
padding: EdgeInsets.symmetric(
@@ -318,7 +318,7 @@ class DiaryEditScreen extends StatelessWidget {
hintText: "Введите название продукта",
controller: textEditingController,
focusNode: focusNodeName,
onChanged: getAutocomplete(context),
onChanged: getAutocomplete(context, focusNodeQuantity),
/*onFieldSubmitted: (String value) {
onFieldSubmitted();
},*/
@@ -576,7 +576,7 @@ class DiaryEditScreen extends StatelessWidget {
};
}
getAutocomplete(BuildContext context) {
getAutocomplete(BuildContext context, FocusNode focusNode) {
return (value) {
/*print(state.autocompleteList
?.map((dynamic item) => item as String)
@@ -720,7 +720,7 @@ class DiaryEditScreen extends StatelessWidget {
bottomTitles: AxisTitles(
sideTitles: SideTitles(
showTitles: true,
getTitlesWidget: (value, meta) => newMethod(value),
//getTitlesWidget: (value, meta) => newMethod(value),
),
),
),
@@ -799,7 +799,7 @@ class DiaryEditScreen extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"255 из 250Ккал",
"${consumedValues[0].toInt()} из ${recommendedValues[0].toInt()}",
style: theme.textTheme.bodySmall,
),
Padding(
@@ -808,7 +808,7 @@ class DiaryEditScreen extends StatelessWidget {
bottom: 11.v,
),
child: Text(
"50 из 250 гр",
"${consumedValues[1].toInt()} из ${recommendedValues[1].toInt()}",
style: theme.textTheme.bodySmall,
),
),
@@ -818,7 +818,7 @@ class DiaryEditScreen extends StatelessWidget {
bottom: 11.v,
),
child: Text(
"270 из 250 гр",
"${consumedValues[2].toInt()} из ${recommendedValues[2].toInt()}",
style: theme.textTheme.bodySmall,
),
),
@@ -828,7 +828,7 @@ class DiaryEditScreen extends StatelessWidget {
bottom: 11.v,
),
child: Text(
"400 из 250 гр",
"${consumedValues[3].toInt()} из ${recommendedValues[3].toInt()}",
style: theme.textTheme.bodySmall,
),
),
@@ -836,10 +836,11 @@ class DiaryEditScreen extends StatelessWidget {
),
),
SizedBox(height: 19.v),
Text(
"*Превышенная суточная норма углеводов",
style: theme.textTheme.labelLarge,
),
if (checkConsumedValues(recommendedValues, consumedValues))
Text(
"*Превышенная суточная норма углеводов",
style: theme.textTheme.labelLarge,
)
],
),
);
@@ -1171,3 +1172,15 @@ class DiaryEditScreen extends StatelessWidget {
}
}
}
bool checkConsumedValues(
List<double> recommendedValues, List<double> consumedValues) {
for (int i = 0; i < recommendedValues.length; i++) {
if (consumedValues[i] > recommendedValues[i]) {
// Если хотя бы одно потребленное значение превышает рекомендованное
return true; // Возвращаем false
}
}
// Если ни одно потребленное значение не превышает рекомендованное с соответствующим индексом
return false; // Возвращаем true
}