Merge pull request 'feat(diary): fixed commenting of diary' (#611) from misha/eatvio_app:main into main

Reviewed-on: eatvio/eatvio_app#611
This commit is contained in:
mso7nueh
2025-08-06 14:42:15 +00:00

View File

@@ -136,15 +136,7 @@ class DiaryCubit extends Cubit<DiaryState> {
final fifthMeal = MealModel(id: 0, time: '0', typeNumber: 5, satiety: 0, mood: 0, portions: fifthMealPortions ?? [], photos: []); final fifthMeal = MealModel(id: 0, time: '0', typeNumber: 5, satiety: 0, mood: 0, portions: fifthMealPortions ?? [], photos: []);
emit( emit(
DiaryState.loadedTomorrowWithDiet( DiaryState.loadedTomorrowWithDiet(
diary: diaryDay.copyWith( diary: diaryDay.copyWith(meals: [firstMeal, secondMeal, thirdMeal, fourthMeal, fifthMeal]),
meals: [
firstMeal,
secondMeal,
thirdMeal,
fourthMeal,
fifthMeal,
],
),
selectedDay: selectedDay, selectedDay: selectedDay,
selectedMeal: selectedMeal, selectedMeal: selectedMeal,
), ),
@@ -156,7 +148,7 @@ class DiaryCubit extends Cubit<DiaryState> {
Future<void> fetchDiary([bool needLoading = false, int? diaryId, int? currentDay]) async { Future<void> fetchDiary([bool needLoading = false, int? diaryId, int? currentDay]) async {
this.diaryId ??= diaryId; this.diaryId ??= diaryId;
final isConsultantView = this.diaryId != null;
if (needLoading) { if (needLoading) {
emit(const DiaryState.loading()); emit(const DiaryState.loading());
selectedMeal = 1; selectedMeal = 1;
@@ -180,7 +172,8 @@ class DiaryCubit extends Cubit<DiaryState> {
String? planName; String? planName;
if (diaryDay.chosenPlanId != null) { if (diaryDay.chosenPlanId != null) {
final chosenPlanModel = await chatRepository.getChosenPlan(id: diaryDay.chosenPlanId!); final chosenPlanModel = await chatRepository.getChosenPlan(id: diaryDay.chosenPlanId!);
if (diaryDay.typeOfDiary.diaryState == DiaryStateEnum.lastDayCommented || diaryDay.typeOfDiary.diaryState == DiaryStateEnum.commented) { if (!isConsultantView &&
(diaryDay.typeOfDiary.diaryState == DiaryStateEnum.lastDayCommented || diaryDay.typeOfDiary.diaryState == DiaryStateEnum.commented)) {
await diaryRepository.viewCommentOfDiaryDayByConsultant(diaryId: diaryDay.id); await diaryRepository.viewCommentOfDiaryDayByConsultant(diaryId: diaryDay.id);
} }
consultantReview = await diaryRepository.getDiaryComments(planId: diaryDay.chosenPlanId!, diaryId: diaryDay.id); consultantReview = await diaryRepository.getDiaryComments(planId: diaryDay.chosenPlanId!, diaryId: diaryDay.id);
@@ -192,24 +185,26 @@ class DiaryCubit extends Cubit<DiaryState> {
final isDiaryFinished = diaryDay.typeOfDiary.diaryState == DiaryStateEnum.finished || diaryDay.typeOfDiary.diaryState == DiaryStateEnum.lastDayFinished; final isDiaryFinished = diaryDay.typeOfDiary.diaryState == DiaryStateEnum.finished || diaryDay.typeOfDiary.diaryState == DiaryStateEnum.lastDayFinished;
final isDiaryCommented = diaryDay.typeOfDiary.diaryState == DiaryStateEnum.commented || final isDiaryCommented =
diaryDay.typeOfDiary.diaryState == DiaryStateEnum.commented ||
diaryDay.typeOfDiary.diaryState == DiaryStateEnum.lastDayCommented || diaryDay.typeOfDiary.diaryState == DiaryStateEnum.lastDayCommented ||
diaryDay.typeOfDiary.diaryState == DiaryStateEnum.reviewedByUser; diaryDay.typeOfDiary.diaryState == DiaryStateEnum.reviewedByUser;
emit( emit(
DiaryState.loaded( DiaryState.loaded(
diary: diaryDay, diary: diaryDay,
nutrition: nutrition, nutrition: nutrition,
selectedDay: selectedDay, selectedDay: selectedDay,
selectedMeal: selectedMeal, selectedMeal: selectedMeal,
isConsultantView: this.diaryId != null, isConsultantView: isConsultantView,
consultantReview: consultantReview, consultantReview: consultantReview,
isDiaryFinished: isDiaryFinished, isDiaryFinished: isDiaryFinished,
isDiaryCommented: isDiaryCommented, isDiaryCommented: isDiaryCommented,
chosenPlanCurrentDay: currentPlanDay, chosenPlanCurrentDay: currentPlanDay,
chosenPlanDuration: planDuration, chosenPlanDuration: planDuration,
chosenPlanName: planName, chosenPlanName: planName,
isMoodEnabled: isMoodEnabled, isMoodEnabled: isMoodEnabled,
isWakeUpAndRetireEnabled: isWakeUpAndRetireTimeEnabled), isWakeUpAndRetireEnabled: isWakeUpAndRetireTimeEnabled,
),
); );
} catch (e, st) { } catch (e, st) {
log(e.toString(), stackTrace: st); log(e.toString(), stackTrace: st);
@@ -217,17 +212,8 @@ class DiaryCubit extends Cubit<DiaryState> {
} }
} }
Future<void> finishDiaryDay({ Future<void> finishDiaryDay({required int diaryId, required String wakeUp, required String retire}) async {
required int diaryId, await diaryRepository.finishDiaryDay(diaryId: diaryId, wakeUp: wakeUp, retire: retire, comment: comment.isEmpty ? null : comment);
required String wakeUp,
required String retire,
}) async {
await diaryRepository.finishDiaryDay(
diaryId: diaryId,
wakeUp: wakeUp,
retire: retire,
comment: comment.isEmpty ? null : comment,
);
await fetchDiary(); await fetchDiary();
} }