From 3addd9d238c8643e46de5c307ab98d6b596c7a75 Mon Sep 17 00:00:00 2001 From: mso7nueh Date: Thu, 29 May 2025 17:14:02 +0300 Subject: [PATCH] fix(consultation): some fixes --- .../bloc/chat_room_cubit/chat_room_cubit.dart | 5 +---- .../chat/presentation/pages/chat_screen.dart | 22 +++++++++---------- .../services/consultation_service.dart | 6 ++++- .../presentation/widgets/calendar_widget.dart | 4 +++- .../widgets/notification_widget.dart | 2 +- 5 files changed, 21 insertions(+), 18 deletions(-) diff --git a/lib/features/chat/presentation/bloc/chat_room_cubit/chat_room_cubit.dart b/lib/features/chat/presentation/bloc/chat_room_cubit/chat_room_cubit.dart index 3c522edb..d35fec90 100644 --- a/lib/features/chat/presentation/bloc/chat_room_cubit/chat_room_cubit.dart +++ b/lib/features/chat/presentation/bloc/chat_room_cubit/chat_room_cubit.dart @@ -94,13 +94,10 @@ class ChatRoomCubit extends Cubit { ), ); - if (chatRoom.chosenPlan?.consultantId == chatRoom.users.receiver.id) { + if (chosenPlan?.consultantId == chatRoom.users.sender.id) { await checkCards(); } - if (sendInitialMessage) { - await chatRepository.sendMessage(chatId: chatId, data: 'Здравствуйте, хочу заказать у вас: ${chosenPlan?.plan.name ?? 'план'}'); - } } catch (e) { log(e.toString()); typingSubscription?.cancel(); diff --git a/lib/features/chat/presentation/pages/chat_screen.dart b/lib/features/chat/presentation/pages/chat_screen.dart index 537aa9e9..72c97a6d 100644 --- a/lib/features/chat/presentation/pages/chat_screen.dart +++ b/lib/features/chat/presentation/pages/chat_screen.dart @@ -105,7 +105,7 @@ class _ChatScreenState extends State { } else if (!amIConsultant && (chosenPlan.chosenPlanState == ChosenPlanStateEnum.stateStartDateHasBeenSet || chosenPlan.chosenPlanState == ChosenPlanStateEnum.statePendingPayment)) { bannerType = BannerType.payment; - } else if (chosenPlan.chosenPlanState == ChosenPlanStateEnum.stateDone) { + } else if (chosenPlan.chosenPlanState == ChosenPlanStateEnum.stateDone && amIConsultant) { bannerType = BannerType.collectCharge; } else if (chosenPlan.chosenPlanState == ChosenPlanStateEnum.stateLastDayFinished && !amIConsultant) { bannerType = BannerType.finishPlan; @@ -303,17 +303,17 @@ class _ChatScreenState extends State { }, ), ), - if (bannerType != null) - Padding( - padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 16), - child: NotificationBanner( - bannerType: bannerType, - chosenPlanId: chosenPlan?.id, - planName: chosenPlan?.plan.name, - planPrice: chosenOption?.price.toDouble(), - ), - ), ], + if (bannerType != null) + Padding( + padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 16), + child: NotificationBanner( + bannerType: bannerType, + chosenPlanId: chosenPlan?.id, + planName: chosenPlan?.plan.name, + planPrice: chosenOption?.price.toDouble(), + ), + ), ], ), ), diff --git a/lib/features/consultations/services/consultation_service.dart b/lib/features/consultations/services/consultation_service.dart index e5236e0f..49ebe41c 100644 --- a/lib/features/consultations/services/consultation_service.dart +++ b/lib/features/consultations/services/consultation_service.dart @@ -9,5 +9,9 @@ abstract class ConsultationService { factory ConsultationService(Dio dio, {String baseUrl}) = _ConsultationService; @GET('/api/consultations') - Future getConsultations(); + Future getConsultations({ + @Query('filters[last_state][\$notIn][]') String query = 'canceled_by_the_initiator', + @Query('filters[last_state][\$notIn][]') String query2 = 'charge_was_collected', + @Query('sort[]') String sort = 'created_at:desc', + }); } diff --git a/lib/features/diary/presentation/widgets/calendar_widget.dart b/lib/features/diary/presentation/widgets/calendar_widget.dart index bc55d33a..2d584eb2 100644 --- a/lib/features/diary/presentation/widgets/calendar_widget.dart +++ b/lib/features/diary/presentation/widgets/calendar_widget.dart @@ -89,7 +89,9 @@ class _CalendarWidgetState extends State { return isSameDay(_selectedDay, day); }, onPageChanged: (focusedDay) { - _focusedDay = focusedDay; + setState(() { + _focusedDay = focusedDay; + }); }, onFormatChanged: (format) { if (_calendarFormat != format) { diff --git a/lib/features/notifications/presentation/widgets/notification_widget.dart b/lib/features/notifications/presentation/widgets/notification_widget.dart index ed63520c..848fecc2 100644 --- a/lib/features/notifications/presentation/widgets/notification_widget.dart +++ b/lib/features/notifications/presentation/widgets/notification_widget.dart @@ -46,7 +46,7 @@ class NotificationWidget extends StatelessWidget { ChosenPlanTomorrowReminderToConsultantNotification() => _ChosenPlanTomorrowReminderToConsultantWidget( notification: notification as ChosenPlanTomorrowReminderToConsultantNotification, ), - PlanSubscriptionPaidToAuthorNotification() => throw _PlanSubscriptionPaidToAuthorWidget( + PlanSubscriptionPaidToAuthorNotification() => _PlanSubscriptionPaidToAuthorWidget( notification: notification as PlanSubscriptionPaidToAuthorNotification, ), ChosenPlanFinishedToConsultantNotification() => _ChosenPlanFinishedToConsultantWidget(