PAP-681 fixed, H2O Unit changing & reflection.

merge-update-with-lab-changes
Sikander Saleem 5 years ago
parent e41040b1b9
commit 1f01f40ad8

@ -1808,7 +1808,7 @@ const Map localizedValues = {
"drinking": {"en": "Drinkning", "ar": "الشرب"}, "drinking": {"en": "Drinkning", "ar": "الشرب"},
"remaining": {"en": "Remaining", "ar": "المتبقي"}, "remaining": {"en": "Remaining", "ar": "المتبقي"},
"taken": {"en": "Taken", "ar": " مأخوذ"}, "taken": {"en": "Taken", "ar": " مأخوذ"},
"ml": {"en": "ml", "ar": "مل"}, "ml": {"en": "ML", "ar": "مل"},
"l": {"en": "L", "ar": "لتر"}, "l": {"en": "L", "ar": "لتر"},
"custom-label": {"en": "Enter amount", "ar": "أدخل كمية الماء"}, "custom-label": {"en": "Enter amount", "ar": "أدخل كمية الماء"},
"custom-label-in-litres": { "custom-label-in-litres": {

@ -29,3 +29,4 @@ const BLOOD_TYPE = 'blood-type';
const NOTIFICATION_COUNT = 'notification-count'; const NOTIFICATION_COUNT = 'notification-count';
const PHARMACY_SELECTED_ADDRESS = 'selected-address'; const PHARMACY_SELECTED_ADDRESS = 'selected-address';
const PHARMACY_AUTORZIE_TOKEN = 'PHARMACY_AUTORZIE_TOKEN'; const PHARMACY_AUTORZIE_TOKEN = 'PHARMACY_AUTORZIE_TOKEN';
const H2O_UNIT = 'H2O_UNIT';

@ -1,3 +1,4 @@
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/H2O/user_detail_model.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/H2O/user_detail_model.dart';
import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/H2O_service.dart'; import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/H2O_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/H2O_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/H2O_view_model.dart';
@ -13,6 +14,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/painting.dart'; import 'package:flutter/painting.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'Dialog/setting_page_radio_button_list_dialog.dart'; import 'Dialog/setting_page_radio_button_list_dialog.dart';
@ -31,7 +33,7 @@ class _H2oSettingState extends State<H2oSetting> {
TextEditingController _nameController = TextEditingController(); TextEditingController _nameController = TextEditingController();
TextEditingController _heightController = TextEditingController(); TextEditingController _heightController = TextEditingController();
TextEditingController _weightController = TextEditingController(); TextEditingController _weightController = TextEditingController();
bool _isUnitML = false; bool _isUnitML = true;
bool _isGenderMale = false; bool _isGenderMale = false;
bool _isHeightCM = false; bool _isHeightCM = false;
bool _isWeightKG = false; bool _isWeightKG = false;
@ -61,6 +63,14 @@ class _H2oSettingState extends State<H2oSetting> {
_isGenderMale = _userDetailModel.gender == "M" ? true : false; _isGenderMale = _userDetailModel.gender == "M" ? true : false;
_dobDate = DateUtil.convertStringToDate(_userDetailModel.dOB); _dobDate = DateUtil.convertStringToDate(_userDetailModel.dOB);
_selectedActiveLevel = _userDetailModel.activityID ?? 1; _selectedActiveLevel = _userDetailModel.activityID ?? 1;
readPrefs();
}
SharedPreferences prefs;
void readPrefs() async {
prefs = await SharedPreferences.getInstance();
_isUnitML = (prefs.getString(H2O_UNIT) ?? "ml") == "ml" ? true : false;
setState(() {});
} }
@override @override
@ -68,19 +78,9 @@ class _H2oSettingState extends State<H2oSetting> {
// TODO: implement didChangeDependencies // TODO: implement didChangeDependencies
super.didChangeDependencies(); super.didChangeDependencies();
_activityLevelListEng = [ _activityLevelListEng = [TranslationBase.of(context).notActive, TranslationBase.of(context).lightActive, TranslationBase.of(context).modActive, TranslationBase.of(context).active];
TranslationBase.of(context).notActive,
TranslationBase.of(context).lightActive,
TranslationBase.of(context).modActive,
TranslationBase.of(context).active
];
_remindedTimeListEng = [ _remindedTimeListEng = ["1 ${TranslationBase.of(context).time}", "2 ${TranslationBase.of(context).times}", "3 ${TranslationBase.of(context).times}", "4 ${TranslationBase.of(context).times}"];
"1 ${TranslationBase.of(context).time}",
"2 ${TranslationBase.of(context).times}",
"3 ${TranslationBase.of(context).times}",
"4 ${TranslationBase.of(context).times}"
];
} }
@override @override
@ -339,8 +339,7 @@ class _H2oSettingState extends State<H2oSetting> {
]); ]);
} }
Widget _commonSlidersRow( Widget _commonSlidersRow(_controller, double _minValue, double _maxValue, double _valueOrg, Function(String) onTextValueChange, Function(double) onValueChange) {
_controller, double _minValue, double _maxValue, double _valueOrg, Function(String) onTextValueChange, Function(double) onValueChange) {
return Container( return Container(
margin: EdgeInsets.only(top: 6), margin: EdgeInsets.only(top: 6),
padding: EdgeInsets.all(6), padding: EdgeInsets.all(6),
@ -451,6 +450,7 @@ class _H2oSettingState extends State<H2oSetting> {
_userDetailModel.dOB = tempDate; _userDetailModel.dOB = tempDate;
_userDetailModel.activityID = _selectedActiveLevel; _userDetailModel.activityID = _selectedActiveLevel;
GifLoaderDialogUtils.showMyDialog(context); GifLoaderDialogUtils.showMyDialog(context);
await prefs.setString(H2O_UNIT, _isUnitML ? "ml" : "l");
await widget.viewModel.updateUserDetail(_userDetailModel, (tag) { await widget.viewModel.updateUserDetail(_userDetailModel, (tag) {
if (tag) { if (tag) {
AppToast.showSuccessToast(message: TranslationBase.of(context).success); AppToast.showSuccessToast(message: TranslationBase.of(context).success);

@ -1,3 +1,4 @@
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/H2O_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/H2O_view_model.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/widgets/h20_floating_action_button.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/widgets/h20_floating_action_button.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
@ -7,8 +8,14 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart'; import 'package:hexcolor/hexcolor.dart';
import 'package:percent_indicator/circular_percent_indicator.dart'; import 'package:percent_indicator/circular_percent_indicator.dart';
import 'package:shared_preferences/shared_preferences.dart';
class TodayPage extends StatelessWidget { class TodayPage extends StatelessWidget {
Future<bool> readPrefs() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
return (prefs.getString(H2O_UNIT) ?? "ml") == "ml" ? true : false;
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BaseView<H2OViewModel>( return BaseView<H2OViewModel>(
@ -34,55 +41,74 @@ class TodayPage extends StatelessWidget {
: (model.userProgressData.percentageConsumed / 100) >= 1 : (model.userProgressData.percentageConsumed / 100) >= 1
? 1 ? 1
: (model.userProgressData.percentageConsumed / 100), : (model.userProgressData.percentageConsumed / 100),
//,
center: Center( center: Center(
child: Column( child: FutureBuilder<bool>(
mainAxisSize: MainAxisSize.min, future: readPrefs(),
children: [ builder: (context, data) {
// SizedBox( var isUnitML = true;
// height: 40, var unit;
// ), if (data.connectionState == ConnectionState.done) {
Text( isUnitML = data.data;
TranslationBase.of(context).consumed, }
style: TextStyle(fontSize: 16.0), if (isUnitML) {
), unit = TranslationBase.of(context).ml;
SizedBox( } else {
height: 4, unit = TranslationBase.of(context).l;
), }
Text( var totalH2O = model?.userProgressData?.quantityLimit ?? 0.0;
model.userProgressData == null var consumedH2O = model?.userProgressData?.quantityConsumed ?? 0.0;
? "0.0" if (!isUnitML) {
: model.userProgressData.quantityConsumed.toString() + TranslationBase.of(context).ml, totalH2O = totalH2O / 1000;
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 14.0, color: HexColor("#60BCF9")), consumedH2O = consumedH2O / 1000;
), }
SizedBox( var remainingH2O = totalH2O - consumedH2O;
height: 4,
), return Column(
SizedBox( mainAxisSize: MainAxisSize.min,
height: 5, children: [
width: 50, // SizedBox(
child: Container(), // height: 40,
), // ),
SizedBox( Text(
height: 4, TranslationBase.of(context).consumed,
), style: TextStyle(fontSize: 16.0),
Text( ),
TranslationBase.of(context).remaining, SizedBox(
style: TextStyle(fontSize: 16.0), height: 4,
), ),
SizedBox( Text(
height: 4, model.userProgressData == null ? "0.0" : "$consumedH2O $unit",
), style: TextStyle(fontWeight: FontWeight.bold, fontSize: 14.0, color: HexColor("#60BCF9")),
Text( ),
model.userProgressData == null SizedBox(
? "0.0" height: 4,
: (model.userProgressData.quantityLimit - model.userProgressData.quantityConsumed) < 0 ),
? "0 ${TranslationBase.of(context).ml}" SizedBox(
: (model.userProgressData.quantityLimit - model.userProgressData.quantityConsumed).toString() + height: 5,
' ${TranslationBase.of(context).ml}', width: 50,
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 14.0), child: Container(),
), ),
], SizedBox(
height: 4,
),
Text(
TranslationBase.of(context).remaining,
style: TextStyle(fontSize: 16.0),
),
SizedBox(
height: 4,
),
Text(
model.userProgressData == null
? "0.0"
: (remainingH2O) < 0
? "0 $unit"
: '$remainingH2O $unit',
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 14.0),
),
],
);
},
), ),
), ),
circularStrokeCap: CircularStrokeCap.butt, circularStrokeCap: CircularStrokeCap.butt,

Loading…
Cancel
Save