forked from eatvio/eatvio_app
feat: settings (data save) + new fields
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import 'package:eatvio_app/data/models/selectionPopupModel/selection_popup_model.dart';
|
||||
import 'package:eatvio_app/features/profile/models/profile_model.dart';
|
||||
import 'package:eatvio_app/features/settings/entities/settings_entity.dart';
|
||||
import 'package:eatvio_app/features/settings/presentation/bloc/settings_cubit/settings_state.dart';
|
||||
import 'package:eatvio_app/generated/l10n.dart';
|
||||
import 'package:eatvio_app/theme/theme_helper.dart';
|
||||
import 'package:eatvio_app/widgets/custom_drop_down.dart';
|
||||
@@ -9,11 +10,11 @@ import 'package:flutter/services.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
|
||||
class PressureScreen extends StatefulWidget {
|
||||
final ProfileDetailsModel profileDetailsModel;
|
||||
final SettingsEntity settingsEntity;
|
||||
|
||||
const PressureScreen({
|
||||
super.key,
|
||||
required this.profileDetailsModel,
|
||||
required this.settingsEntity,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -30,21 +31,15 @@ class _PressureScreenState extends State<PressureScreen> {
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
bloodPressureUpController.text = widget.profileDetailsModel.bloodPressureUp.toString();
|
||||
bloodPressureDownController.text = widget.profileDetailsModel.bloodPressureDown.toString();
|
||||
hypo = widget.profileDetailsModel.hasHypo ? selectionPopupList[0] : selectionPopupList[1];
|
||||
hyper = widget.profileDetailsModel.hasHyper ? selectionPopupList[0] : selectionPopupList[1];
|
||||
bloodPressureUpController.text = widget.settingsEntity.profileDetailsModel.bloodPressureUp.toString();
|
||||
bloodPressureDownController.text = widget.settingsEntity.profileDetailsModel.bloodPressureDown.toString();
|
||||
hypo = widget.settingsEntity.profileDetailsModel.hasHypo ? selectionPopupList[1] : selectionPopupList[0];
|
||||
hyper = widget.settingsEntity.profileDetailsModel.hasHyper ? selectionPopupList[1] : selectionPopupList[0];
|
||||
}
|
||||
|
||||
final List<SelectionPopupModel> selectionPopupList = [
|
||||
SelectionPopupModel(
|
||||
id: 1,
|
||||
title: "Да",
|
||||
),
|
||||
SelectionPopupModel(
|
||||
id: 0,
|
||||
title: "Нет",
|
||||
),
|
||||
SelectionPopupModel(id: 0, title: 'Нет', value: false),
|
||||
SelectionPopupModel(id: 1, title: 'Да', value: true),
|
||||
];
|
||||
|
||||
@override
|
||||
@@ -113,7 +108,17 @@ class _PressureScreenState extends State<PressureScreen> {
|
||||
|
||||
_saveButton() {
|
||||
return InkWell(
|
||||
onTap: () => GoRouter.of(context).pop(),
|
||||
onTap: () {
|
||||
widget.settingsEntity.settingsCubit.updateProfileDetails(
|
||||
profileDetailsModel: (widget.settingsEntity.settingsCubit.state as SettingsStateLoaded).profileDetails.copyWith(
|
||||
bloodPressureUp: int.parse(bloodPressureUpController.text),
|
||||
bloodPressureDown: int.parse(bloodPressureDownController.text),
|
||||
hasHyper: hyper.value,
|
||||
hasHypo: hypo.value,
|
||||
),
|
||||
);
|
||||
GoRouter.of(context).pop();
|
||||
},
|
||||
borderRadius: BorderRadius.circular(20),
|
||||
child: Ink(
|
||||
height: 52,
|
||||
|
||||
Reference in New Issue
Block a user