refactor(diary): Diary cubit

This commit is contained in:
2024-07-03 11:33:10 +03:00
parent beaaecad3c
commit 9b97967d88
6 changed files with 1390 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
import 'package:eatvio_app/core/app_export.dart';
import 'package:eatvio_app/features/diary/presentation/bloc/diary_state.dart';
import 'package:eatvio_app/features/diary/repositories/diary_repository.dart';
class DiaryCubit extends Cubit<DiaryState> {
final DiaryRepository blogPostRepository;
DiaryCubit({required this.blogPostRepository})
: super(const DiaryState.loading());
loadDiary(String blogPostID) async {
emit(const DiaryState.loading());
try {
final blogPost = await blogPostRepository.getDiary(blogPostID);
emit(DiaryState.loaded(blogPost: blogPost));
} catch (e) {
emit(DiaryState.error(errorMessage: e.toString()));
print(e);
}
}
}

View File

@@ -0,0 +1,19 @@
import 'package:eatvio_app/features/diary/models/diary_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.loaded({
required DiaryModel blogPost,
}) = DiaryStateLoaded;
const factory DiaryState.error({
required String errorMessage,
}) = DiaryStateError;
}

File diff suppressed because it is too large Load Diff