diff --git a/lib/features/composer/presentation/composer_view.dart b/lib/features/composer/presentation/composer_view.dart index 10851e897..47c42d612 100644 --- a/lib/features/composer/presentation/composer_view.dart +++ b/lib/features/composer/presentation/composer_view.dart @@ -381,19 +381,13 @@ class ComposerView extends GetWidget { ), ) ), - TabletBottomBarComposerWidget( + Obx(() => TabletBottomBarComposerWidget( + hasReadReceipt: controller.hasRequestReadReceipt.value, deleteComposerAction: () => controller.handleClickDeleteComposer(context), saveToDraftAction: () => controller.handleClickSaveAsDraftsButton(context), sendMessageAction: () => controller.handleClickSendButton(context), - requestReadReceiptAction: (position) { - controller.openPopupMenuAction( - context, - position, - _createReadReceiptPopupItems(context), - radius: ComposerStyle.popupMenuRadius - ); - }, - ), + requestReadReceiptAction: () => controller.toggleRequestReadReceipt(context), + )), ] ) ), @@ -427,26 +421,6 @@ class ComposerView extends GetWidget { .build(); } - List _createReadReceiptPopupItems(BuildContext context) { - return [ - PopupMenuItem( - padding: EdgeInsets.zero, - child: PopupItemWidget( - controller.imagePaths.icReadReceipt, - AppLocalizations.of(context).requestReadReceipt, - styleName: ComposerStyle.popupItemTextStyle, - padding: ComposerStyle.popupItemPadding, - selectedIcon: controller.imagePaths.icFilterSelected, - isSelected: controller.hasRequestReadReceipt.value, - onCallbackAction: () { - popBack(); - controller.toggleRequestReadReceipt(context); - } - ) - ), - ]; - } - List _createMoreOptionPopupItems(BuildContext context) { return [ PopupMenuItem( diff --git a/lib/features/composer/presentation/styles/mobile/tablet_bottom_bar_composer_widget_style.dart b/lib/features/composer/presentation/styles/mobile/tablet_bottom_bar_composer_widget_style.dart index 88fe07647..aa0fdcd50 100644 --- a/lib/features/composer/presentation/styles/mobile/tablet_bottom_bar_composer_widget_style.dart +++ b/lib/features/composer/presentation/styles/mobile/tablet_bottom_bar_composer_widget_style.dart @@ -13,6 +13,7 @@ class TabletBottomBarComposerWidgetStyle { static const Color backgroundColor = Colors.white; static const Color iconColor = AppColor.colorRichButtonComposer; static const Color sendButtonBackgroundColor = AppColor.primaryColor; + static const Color selectedIconColor = AppColor.primaryColor; static const EdgeInsetsGeometry padding = EdgeInsetsDirectional.symmetric(horizontal: 32, vertical: 12); static const EdgeInsetsGeometry iconPadding = EdgeInsetsDirectional.all(5); diff --git a/lib/features/composer/presentation/widgets/mobile/tablet_bottom_bar_composer_widget.dart b/lib/features/composer/presentation/widgets/mobile/tablet_bottom_bar_composer_widget.dart index a1d76f14d..6dbbd8876 100644 --- a/lib/features/composer/presentation/widgets/mobile/tablet_bottom_bar_composer_widget.dart +++ b/lib/features/composer/presentation/widgets/mobile/tablet_bottom_bar_composer_widget.dart @@ -3,24 +3,25 @@ import 'package:core/presentation/views/button/tmail_button_widget.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:tmail_ui_user/features/composer/presentation/styles/mobile/tablet_bottom_bar_composer_widget_style.dart'; -import 'package:tmail_ui_user/features/composer/presentation/widgets/web/bottom_bar_composer_widget.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; class TabletBottomBarComposerWidget extends StatelessWidget { + final bool hasReadReceipt; final VoidCallback deleteComposerAction; final VoidCallback saveToDraftAction; final VoidCallback sendMessageAction; - final OnRequestReadReceiptAction? requestReadReceiptAction; + final VoidCallback requestReadReceiptAction; final _imagePaths = Get.find(); TabletBottomBarComposerWidget({ super.key, + required this.hasReadReceipt, required this.deleteComposerAction, required this.saveToDraftAction, required this.sendMessageAction, - this.requestReadReceiptAction, + required this.requestReadReceiptAction, }); @override @@ -45,8 +46,13 @@ class TabletBottomBarComposerWidget extends StatelessWidget { borderRadius: TabletBottomBarComposerWidgetStyle.iconRadius, padding: TabletBottomBarComposerWidgetStyle.iconPadding, iconSize: TabletBottomBarComposerWidgetStyle.iconSize, - tooltipMessage: AppLocalizations.of(context).requestReadReceipt, - onTapActionAtPositionCallback: requestReadReceiptAction, + iconColor: hasReadReceipt + ? TabletBottomBarComposerWidgetStyle.selectedIconColor + : TabletBottomBarComposerWidgetStyle.iconColor, + tooltipMessage: hasReadReceipt + ? AppLocalizations.of(context).turnOffRequestReadReceipt + : AppLocalizations.of(context).turnOnRequestReadReceipt, + onTapActionCallback: requestReadReceiptAction, ), const SizedBox(width: TabletBottomBarComposerWidgetStyle.space), TMailButtonWidget.fromIcon( diff --git a/lib/features/composer/presentation/widgets/web/bottom_bar_composer_widget.dart b/lib/features/composer/presentation/widgets/web/bottom_bar_composer_widget.dart index c446046d5..6687d4392 100644 --- a/lib/features/composer/presentation/widgets/web/bottom_bar_composer_widget.dart +++ b/lib/features/composer/presentation/widgets/web/bottom_bar_composer_widget.dart @@ -5,8 +5,6 @@ import 'package:get/get.dart'; import 'package:tmail_ui_user/features/composer/presentation/styles/web/bottom_bar_composer_widget_style.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; -typedef OnRequestReadReceiptAction = Function(RelativeRect position); - class BottomBarComposerWidget extends StatelessWidget { final bool isCodeViewEnabled;