feat(diary) Improved layouts and TimePicker

This commit is contained in:
2024-02-12 15:02:43 +03:00
parent 7b989076cc
commit 82eca66ae4
4 changed files with 167 additions and 66 deletions

View File

@@ -39,11 +39,17 @@ class DiaryEditBloc extends Bloc<DiaryEditEvent, DiaryEditState> {
// Если текущее состояние уже загружено, обновляем его
var currentState = state as DiaryEditLoadedState;
// Обновляем значения контроллеров только если они уже были созданы
emit((currentState).copyWith());
print(currentState.wakeupController);
emit((currentState).copyWith(
wakeupController: currentState.wakeupController,
retireController: currentState.retireController,
));
} else {
// Если текущее состояние - начальное, создаем новое загруженное состояние
emit(DiaryEditLoadedState());
emit(DiaryEditLoadedState(
wakeupController: TimeOfDay.now(),
retireController: TimeOfDay.now(),
));
}
} else {
// Один или несколько ключевых полей отсутствуют, обрабатываем ошибку

View File

@@ -18,19 +18,25 @@ class DiaryEditInitialState extends DiaryEditState {
/// Represents the state of DiaryEdit in the application.
class DiaryEditLoadedState extends DiaryEditState {
DiaryEditLoadedState({this.diaryEditModelObj})
DiaryEditLoadedState(
{this.diaryEditModelObj, this.wakeupController, this.retireController})
: super(diaryEditModelObj: null);
DiaryEditModel? diaryEditModelObj;
TimeOfDay? wakeupController;
TimeOfDay? retireController;
@override
List<Object?> get props => [
diaryEditModelObj,
];
List<Object?> get props =>
[diaryEditModelObj, wakeupController, retireController];
DiaryEditLoadedState copyWith({
DiaryEditModel? diaryEditModelObj,
TimeOfDay? wakeupController,
TimeOfDay? retireController,
}) {
return DiaryEditLoadedState(
diaryEditModelObj: diaryEditModelObj ?? this.diaryEditModelObj,
wakeupController: wakeupController ?? this.wakeupController,
retireController: retireController ?? this.retireController,
);
}
}