From f9ff9ecde7f9e6d3398dc5b01c4e9302d4d83125 Mon Sep 17 00:00:00 2001 From: dab246 Date: Wed, 7 Jan 2026 16:35:07 +0700 Subject: [PATCH] TF-4229 Add `isSelected` && condition to non-RTL selectedIconWidget rendering to match RTL behavior. --- .../mixin/provisioning_label_scenario_mixin.dart | 6 ++++-- .../search/search_email_with_tag_scenario.dart | 1 + .../popup_menu/popup_menu_item_action_widget.dart | 2 +- .../presentation/model/create_email_request.dart | 2 +- lib/features/email/presentation/email_view.dart | 8 +++----- .../mailbox/presentation/base_mailbox_view.dart | 10 +++------- .../controller/mailbox_dashboard_controller.dart | 4 ---- .../select_search_filter_action_extension.dart | 6 ++++++ .../presentation/model/search/search_email_filter.dart | 4 ++-- .../advanced_search/advanced_search_input_form.dart | 2 +- 10 files changed, 22 insertions(+), 23 deletions(-) diff --git a/integration_test/mixin/provisioning_label_scenario_mixin.dart b/integration_test/mixin/provisioning_label_scenario_mixin.dart index 395302d7a..9e45e7d80 100644 --- a/integration_test/mixin/provisioning_label_scenario_mixin.dart +++ b/integration_test/mixin/provisioning_label_scenario_mixin.dart @@ -23,10 +23,12 @@ mixin ProvisioningLabelScenarioMixin { final accountId = dashboardController?.accountId.value; final labelController = dashboardController?.labelController; - if (createLabelInteractor == null || accountId == null) { + if (dashboardController == null || + createLabelInteractor == null || + accountId == null) { log( 'ProvisioningLabelScenarioMixin::provisionLabels ' - 'skipped: missing CreateNewLabelInteractor or accountId', + 'skipped: missing dashboardController, CreateNewLabelInteractor, or accountId', ); return []; } diff --git a/integration_test/scenarios/search/search_email_with_tag_scenario.dart b/integration_test/scenarios/search/search_email_with_tag_scenario.dart index 45494fef3..463657882 100644 --- a/integration_test/scenarios/search/search_email_with_tag_scenario.dart +++ b/integration_test/scenarios/search/search_email_with_tag_scenario.dart @@ -76,6 +76,7 @@ class SearchEmailWithTagScenario extends BaseTestScenario required String tagDisplayName, required int emailCount, }) async { + // Emails provisioned by buildEmailsForLabel include the tag name in the subject final listEmailTileWithTag = $.tester.widgetList( $(EmailTileBuilder).which((widget) => widget.presentationEmail.subject?.contains(tagDisplayName) == true), diff --git a/lib/features/base/widget/popup_menu/popup_menu_item_action_widget.dart b/lib/features/base/widget/popup_menu/popup_menu_item_action_widget.dart index c86959522..e64673fb8 100644 --- a/lib/features/base/widget/popup_menu/popup_menu_item_action_widget.dart +++ b/lib/features/base/widget/popup_menu/popup_menu_item_action_widget.dart @@ -221,7 +221,7 @@ class _PopupMenuItemActionWidgetState extends State { child: Row( children: [ if (iconWidget != null) iconWidget, - if (!isArrangeRTL && selectedIconWidget != null) + if (!isArrangeRTL && isSelected && selectedIconWidget != null) Padding( padding: const EdgeInsetsDirectional.only(end: 16), child: selectedIconWidget, diff --git a/lib/features/composer/presentation/model/create_email_request.dart b/lib/features/composer/presentation/model/create_email_request.dart index 83a2a15eb..4c02690ba 100644 --- a/lib/features/composer/presentation/model/create_email_request.dart +++ b/lib/features/composer/presentation/model/create_email_request.dart @@ -114,7 +114,7 @@ class CreateEmailRequest with EquatableMixin { templateEmailId, answerForwardEmailId, unsubscribeEmailId, - references, + messageId, references, emailSendingQueue, displayMode, diff --git a/lib/features/email/presentation/email_view.dart b/lib/features/email/presentation/email_view.dart index f03b3e71a..f1f077f10 100644 --- a/lib/features/email/presentation/email_view.dart +++ b/lib/features/email/presentation/email_view.dart @@ -262,15 +262,13 @@ class EmailView extends GetWidget { final isLabelAvailable = controller .mailboxDashBoardController.isLabelAvailable; - final labelController = - controller.mailboxDashBoardController.labelController; + final listLabels = + controller.mailboxDashBoardController.labelController.labels; List