forked from eatvio/eatvio_app
37 lines
1.4 KiB
Dart
37 lines
1.4 KiB
Dart
import 'package:eatvio_app/features/diary/entities/diary_day_entity.dart';
|
|
import 'package:eatvio_app/features/diary/entities/diary_future_diet_day_entity.dart';
|
|
import 'package:eatvio_app/features/diary/models/consultant_review_model.dart';
|
|
import 'package:eatvio_app/features/diary/models/nutrition_model.dart';
|
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
|
|
part 'diary_state.freezed.dart';
|
|
|
|
@freezed
|
|
abstract class DiaryState with _$DiaryState {
|
|
const factory DiaryState() = _DiaryState;
|
|
|
|
const factory DiaryState.loading() = DiaryStateLoading;
|
|
|
|
const factory DiaryState.error({required String errorMessage}) = DiaryStateError;
|
|
|
|
const factory DiaryState.loaded({
|
|
required DiaryDayEntity diary,
|
|
required NutritionDataModel nutrition,
|
|
required DateTime selectedDay,
|
|
required int selectedMeal,
|
|
int? chosenPlanCurrentDay,
|
|
String? chosenPlanName,
|
|
int? chosenPlanDuration,
|
|
ConsultantReviewModel? consultantReview,
|
|
@Default(false) bool isConsultantView,
|
|
@Default(false) bool isDiaryFinished,
|
|
@Default(false) bool isDiaryCommented,
|
|
@Default(false) bool isWakeUpAndRetireEnabled,
|
|
@Default(false) bool isMoodEnabled,
|
|
@Default(false) bool isLoadingAddingProductInMeal,
|
|
}) = DiaryStateLoaded;
|
|
|
|
const factory DiaryState.loadedTomorrowWithDiet({required DiaryFutureDietDayEntity diary, required DateTime selectedDay, required int selectedMeal}) =
|
|
DiaryStateLoadedTomorrowWithDiet;
|
|
}
|