feat(chats,diary): added logic for chosen diet portions and added banner to finish plan to chats

This commit is contained in:
Username1548
2025-04-30 21:25:23 +07:00
parent e572614a8b
commit 3b4ed501fb
28 changed files with 552 additions and 71 deletions

View File

@@ -11,6 +11,7 @@ import 'package:eatvio_app/features/diary/presentation/bloc/diary_state.dart';
import 'package:eatvio_app/features/diary/repositories/diary_repository.dart';
import 'package:eatvio_app/features/glossary/models/glossary_model.dart';
import 'package:eatvio_app/features/glossary/repositories/glossary_repository.dart';
import 'package:eatvio_app/features/profile/repositories/profile_repository.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
class DiaryCubit extends Cubit<DiaryState> {
@@ -19,8 +20,13 @@ class DiaryCubit extends Cubit<DiaryState> {
late int selectedMeal;
final DiaryRepository diaryRepository;
final GlossaryRepository glossaryRepository;
final ProfileRepository profileRepository;
int? diaryId;
DiaryCubit({required this.diaryRepository, required this.glossaryRepository}) : super(const DiaryState.loading()) {
DiaryCubit({
required this.diaryRepository,
required this.glossaryRepository,
required this.profileRepository,
}) : super(const DiaryState.loading()) {
today = DateTime.now();
selectedDay = today;
diaryRepository.forceFetchStream.listen((_) {
@@ -42,6 +48,7 @@ class DiaryCubit extends Cubit<DiaryState> {
fetchDiary([bool needLoading = false, int? diaryId]) async {
this.diaryId ??= diaryId;
await profileRepository.getChosenDiets();
if (needLoading) {
emit(const DiaryState.loading());
selectedMeal = 1;
@@ -88,7 +95,12 @@ class DiaryCubit extends Cubit<DiaryState> {
required String wakeUp,
required String retire,
}) async {
await diaryRepository.finishDiaryDay(diaryId: diaryId, wakeUp: wakeUp, retire: retire, comment: comment);
await diaryRepository.finishDiaryDay(
diaryId: diaryId,
wakeUp: wakeUp,
retire: retire,
comment: comment.isEmpty ? null : comment,
);
await fetchDiary();
}