diff --git a/assets/images/img_2456927096976.svg b/assets/images/img_2456927096976.svg index 17ee6769..f869ff41 100644 --- a/assets/images/img_2456927096976.svg +++ b/assets/images/img_2456927096976.svg @@ -1,5 +1,12 @@ - - - - + + + + + + + + + + + diff --git a/assets/images/img_logo_eatvio.svg b/assets/images/img_logo_eatvio.svg index 701b5d1d..bc575bc9 100644 --- a/assets/images/img_logo_eatvio.svg +++ b/assets/images/img_logo_eatvio.svg @@ -1,12 +1,12 @@ - - - - - + + + + + + + + + + - - - - - diff --git a/lib/presentation/auth/auth_screen/auth_screen.dart b/lib/presentation/auth/auth_screen/auth_screen.dart index c037c382..4cbef203 100644 --- a/lib/presentation/auth/auth_screen/auth_screen.dart +++ b/lib/presentation/auth/auth_screen/auth_screen.dart @@ -103,7 +103,7 @@ class AuthScreen extends StatelessWidget { box.put('token', token); Navigator.pushNamed( context, - AppRoutes.diaryEdit, + AppRoutes.myProfile, ); } else { showDialog( diff --git a/lib/presentation/diary/diary_edit_screen/bloc/diary_edit_bloc.dart b/lib/presentation/diary/diary_edit_screen/bloc/diary_edit_bloc.dart index c460b0d1..04ea8ccd 100644 --- a/lib/presentation/diary/diary_edit_screen/bloc/diary_edit_bloc.dart +++ b/lib/presentation/diary/diary_edit_screen/bloc/diary_edit_bloc.dart @@ -16,9 +16,15 @@ part 'diary_edit_state.dart'; class DiaryEditBloc extends Bloc { DiaryEditBloc(DiaryEditState initialState) : super(initialState) { on(_onInitialize); - on(_changeSatiety); - on(_changeMood); + on(_changeSatiety); // пользователь нажимает на шкалу сытости + on(_changeMood); // пользователь нажимает на шкалу настроения + on(_changeWakeup); // пользователь выбирает время пробуждения + on(_changeRetire); // пользователь выбирает время отхода ко сну on(_toggleMood); + on(_toggleWakeup); + on(_addPortion); //пользователь нажимает "Добавить продукт" + on( + _removePortion); // пользователь нажимает на крестик около продукта } Future _onInitialize( @@ -105,7 +111,7 @@ class DiaryEditBloc extends Bloc { } Future _changeMood( - MoodEvent event, Emitter emit) async { + ChangeMood event, Emitter emit) async { if (state is DiaryEditLoadedState) { var currentState = state as DiaryEditLoadedState; @@ -124,4 +130,43 @@ class DiaryEditBloc extends Bloc { print(currentState.moodExpanded); } } + + FutureOr _toggleWakeup( + ToggleWakeupExpandedEvent event, Emitter emit) { + if (state is DiaryEditLoadedState) { + var currentState = state as DiaryEditLoadedState; + + emit(currentState.copyWith(wakeupExpanded: !currentState.wakeupExpanded)); + currentState.wakeupExpanded = !currentState.wakeupExpanded; + print(currentState.wakeupExpanded); + } + } + + FutureOr _changeWakeup( + WakeupEvent event, Emitter emit) { + if (state is DiaryEditLoadedState) { + var currentState = state as DiaryEditLoadedState; + + emit(currentState.copyWith(wakeupController: event.selectedTime)); + currentState.wakeupController = event.selectedTime; + print(currentState.wakeupExpanded); + } + } + + FutureOr _changeRetire( + RetireEvent event, Emitter emit) { + if (state is DiaryEditLoadedState) { + var currentState = state as DiaryEditLoadedState; + + emit(currentState.copyWith(retireController: event.selectedTime)); + currentState.retireController = event.selectedTime; + print(currentState.retireController); + } + } + + FutureOr _addPortion( + AddPortionEvent event, Emitter emit) {} + + FutureOr _removePortion( + RemovePortionEvent event, Emitter emit) {} } diff --git a/lib/presentation/diary/diary_edit_screen/bloc/diary_edit_event.dart b/lib/presentation/diary/diary_edit_screen/bloc/diary_edit_event.dart index 47c8994f..e91d1c99 100644 --- a/lib/presentation/diary/diary_edit_screen/bloc/diary_edit_event.dart +++ b/lib/presentation/diary/diary_edit_screen/bloc/diary_edit_event.dart @@ -23,15 +23,53 @@ class ChangeSatiety extends DiaryEditEvent { List get props => [selectedElement]; } -class MoodEvent extends DiaryEditEvent { - MoodEvent(this.selectedElement); +class ChangeMood extends DiaryEditEvent { + ChangeMood(this.selectedElement); final int selectedElement; @override List get props => [selectedElement]; } +class WakeupEvent extends DiaryEditEvent { + WakeupEvent(this.selectedTime); + final TimeOfDay selectedTime; + + @override + List get props => [selectedTime]; +} + +class RetireEvent extends DiaryEditEvent { + RetireEvent(this.selectedTime); + final TimeOfDay selectedTime; + + @override + List get props => [selectedTime]; +} + class ToggleMoodExpandedEvent extends DiaryEditEvent { @override List get props => []; } + +class ToggleWakeupExpandedEvent extends DiaryEditEvent { + @override + List get props => []; +} + +class AddPortionEvent extends DiaryEditEvent { + AddPortionEvent(this.mealId, this.productId, this.quantity, this.portion); + final int mealId; + final int productId; + final int quantity; + final String portion; + @override + List get props => [mealId, productId, quantity]; +} + +class RemovePortionEvent extends DiaryEditEvent { + RemovePortionEvent(this.portionId); + final int portionId; + @override + List get props => [portionId]; +} diff --git a/lib/presentation/diary/diary_edit_screen/diary_edit_screen.dart b/lib/presentation/diary/diary_edit_screen/diary_edit_screen.dart index 469c9d1c..14685a2f 100644 --- a/lib/presentation/diary/diary_edit_screen/diary_edit_screen.dart +++ b/lib/presentation/diary/diary_edit_screen/diary_edit_screen.dart @@ -274,7 +274,9 @@ class DiaryEditScreen extends StatelessWidget { SizedBox(height: 30.v), _buildAddProduct(context), SizedBox(height: 30.v), - //_buildAddPhoto(context), + _buildProduct(context), + SizedBox(height: 30.v), + _buildAddPhoto(context), Text( "Ваша сытость после приёма пищи", style: CustomTextStyles.bodyMediumBlack900, @@ -363,7 +365,7 @@ class DiaryEditScreen extends StatelessWidget { top: 5.v, ), child: Text( - "Сырный суп", + "Omelette", style: CustomTextStyles.titleMedium16, ), ), @@ -374,7 +376,7 @@ class DiaryEditScreen extends StatelessWidget { bottom: 3.v, ), child: Text( - "400мл", + "15гр", style: CustomTextStyles.titleMedium16, ), ), @@ -713,8 +715,8 @@ class DiaryEditScreen extends StatelessWidget { children: [ GestureDetector( onTap: () { - /*BlocProvider.of(context) - .add(ToggleWakeupExpandedEvent());*/ + BlocProvider.of(context) + .add(ToggleWakeupExpandedEvent()); }, child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -740,7 +742,7 @@ class DiaryEditScreen extends StatelessWidget { child: TextFormField( decoration: InputDecoration( labelText: 'Во сколько вы просунились?', - suffixIcon: Icon(Icons.access_time), + prefixIcon: Icon(Icons.sunny), ), initialValue: state.wakeupController.toString(), ), @@ -752,7 +754,7 @@ class DiaryEditScreen extends StatelessWidget { child: TextFormField( decoration: InputDecoration( labelText: 'Во сколько вы легли спать?', - suffixIcon: Icon(Icons.access_time), + prefixIcon: Icon(Icons.bed), ), initialValue: state.retireController.toString(), ), @@ -829,32 +831,44 @@ class DiaryEditScreen extends StatelessWidget { ScaleElement( color: Colors.red, isSelected: state.selectedMood == 0, - onTap: () {}, + onTap: () { + context.read().add(ChangeMood(0)); + }, ), ScaleElement( color: Colors.orange, isSelected: state.selectedMood == 1, - onTap: () {}, + onTap: () { + context.read().add(ChangeMood(1)); + }, ), ScaleElement( color: Colors.yellow, isSelected: state.selectedMood == 2, - onTap: () {}, + onTap: () { + context.read().add(ChangeMood(2)); + }, ), ScaleElement( color: Colors.lime, isSelected: state.selectedMood == 3, - onTap: () {}, + onTap: () { + context.read().add(ChangeMood(3)); + }, ), ScaleElement( color: Colors.lightGreen, isSelected: state.selectedMood == 4, - onTap: () {}, + onTap: () { + context.read().add(ChangeMood(4)); + }, ), ScaleElement( color: Colors.green, isSelected: state.selectedMood == 5, - onTap: () {}, + onTap: () { + context.read().add(ChangeMood(5)); + }, ), Text("😊"), // Остальные элементы шкалы