diff --git a/lib/features/create_diet/presentation/create_diet_screen.dart b/lib/features/create_diet/presentation/create_diet_screen.dart index 61520004..aa2677e4 100644 --- a/lib/features/create_diet/presentation/create_diet_screen.dart +++ b/lib/features/create_diet/presentation/create_diet_screen.dart @@ -190,7 +190,7 @@ class _CreateDietScreenContentState extends State { children: [ CustomOutlinedButton( onPressed: () async { - context.read().setDietState(DietState.draft, state.dietStateIndex ?? 0); + context.read().setDietState(DietState.draft); if (widget.diet != null) { final result = await context.read().updateDiet( widget.diet!.id, diff --git a/lib/features/create_diet/presentation/cubit/create_diet_cubit.dart b/lib/features/create_diet/presentation/cubit/create_diet_cubit.dart index 8b4b646e..820d36b7 100644 --- a/lib/features/create_diet/presentation/cubit/create_diet_cubit.dart +++ b/lib/features/create_diet/presentation/cubit/create_diet_cubit.dart @@ -19,7 +19,6 @@ class CreateDietCubit extends Cubit { final GlossaryRepository glossaryRepository; String? tempImagePath; int? dietId; - static const _dietStateValues = DietState.values; CreateDietCubit({required this.profileRepository, required this.createDietRepository, required this.glossaryRepository}) : super(CreateDietState.initial()); @@ -39,7 +38,6 @@ class CreateDietCubit extends Cubit { } } - final dietStateIndex = _dietStateValues.indexOf(diet.state); final type = Map.fromIterable(dietTypeValues, value: (element) => false); type['meat'] = diet.type.meat ?? false; type['veg'] = diet.type.veg ?? false; @@ -56,7 +54,7 @@ class CreateDietCubit extends Cubit { imageUrl: '$baseUrl/storage/${diet.image}', ), ); - emit(state.copyWith(dietStateIndex: dietStateIndex, durationIndex: durationValues.indexOf(diet.duration))); + emit(state.copyWith(dietState: diet.state, durationIndex: durationValues.indexOf(diet.duration))); emit(state.copyWith(isLoading: true)); } @@ -130,8 +128,8 @@ class CreateDietCubit extends Cubit { emit(state.copyWith(dietData: state.dietData.copyWith(dailySchedule: dailySchedule), dietDurationError: null)); } - void setDietState(DietState dietState, int index) { - emit(state.copyWith(dietData: state.dietData.copyWith(state: dietState), dietStateIndex: index, dietStateError: null)); + void setDietState(DietState dietState) { + emit(state.copyWith(dietData: state.dietData.copyWith(state: dietState), dietState: dietState, dietStateError: null)); } void setDietType({required String key, required bool value}) { diff --git a/lib/features/create_diet/presentation/cubit/create_diet_state.dart b/lib/features/create_diet/presentation/cubit/create_diet_state.dart index f0a6c2c6..8e97a087 100644 --- a/lib/features/create_diet/presentation/cubit/create_diet_state.dart +++ b/lib/features/create_diet/presentation/cubit/create_diet_state.dart @@ -20,7 +20,7 @@ class CreateDietState with _$CreateDietState { String? dietImageError, required List dailyScheduleErrors, int? durationIndex, - int? dietStateIndex, + DietState? dietState, @Default(false) bool published, @Default(false) bool drafted, @Default(false) bool isDietBeingEdited, diff --git a/lib/features/create_diet/presentation/widgets/status_drop_down_widget.dart b/lib/features/create_diet/presentation/widgets/status_drop_down_widget.dart index e310e239..c618f44e 100644 --- a/lib/features/create_diet/presentation/widgets/status_drop_down_widget.dart +++ b/lib/features/create_diet/presentation/widgets/status_drop_down_widget.dart @@ -58,9 +58,9 @@ class _StatusDropDownWidgetState extends State { onChanged: (value) { if (value != null) { if (value == s.public_diet_state) { - context.read().setDietState(DietState.active, 0); + context.read().setDietState(DietState.active); } else { - context.read().setDietState(DietState.personal, 1); + context.read().setDietState(DietState.personal); } // final index = dietStates.indexOf(value); // context.read().setDietState(value, index); @@ -77,7 +77,7 @@ class _StatusDropDownWidgetState extends State { ), ) .toList(), - value: state.dietStateIndex == null ? null : dietStateTitles[state.dietStateIndex ?? 0], + value: state.dietState == DietState.active ? dietStateTitles[0] : state.dietState == DietState.personal ? dietStateTitles[1] : null, ), if (state.dietStateError != null) ...[ const SizedBox(