TF-4229 Add isSelected && condition to non-RTL selectedIconWidget rendering to match RTL behavior.

This commit is contained in:
dab246
2026-01-07 16:35:07 +07:00
committed by Dat H. Pham
parent 916fee92c4
commit f9ff9ecde7
10 changed files with 22 additions and 23 deletions
@@ -221,7 +221,7 @@ class _PopupMenuItemActionWidgetState extends State<PopupMenuItemActionWidget> {
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,
@@ -114,7 +114,7 @@ class CreateEmailRequest with EquatableMixin {
templateEmailId,
answerForwardEmailId,
unsubscribeEmailId,
references,
messageId,
references,
emailSendingQueue,
displayMode,
@@ -262,15 +262,13 @@ class EmailView extends GetWidget<SingleEmailController> {
final isLabelAvailable = controller
.mailboxDashBoardController.isLabelAvailable;
final labelController =
controller.mailboxDashBoardController.labelController;
final listLabels =
controller.mailboxDashBoardController.labelController.labels;
List<Label>? emailLabels;
if (isLabelAvailable) {
emailLabels = presentationEmail.getLabelList(
labelController.labels,
);
emailLabels = presentationEmail.getLabelList(listLabels);
}
return EmailSubjectWidget(
@@ -349,18 +349,14 @@ abstract class BaseMailboxView extends GetWidget<MailboxController>
Widget buildLabelsBar(BuildContext context, bool isDesktop) {
return Obx(() {
final isLabelCapabilitySupported = controller
final isLabelAvailable = controller
.mailboxDashBoardController
.isLabelCapabilitySupported;
.isLabelAvailable;
final labelController =
controller.mailboxDashBoardController.labelController;
final isLabelSettingEnabled = labelController
.isLabelSettingEnabled
.isTrue;
if (isLabelCapabilitySupported && isLabelSettingEnabled) {
if (isLabelAvailable) {
final accountId = controller.accountId;
final labelListExpandMode = labelController.labelListExpandMode.value;
final countLabels = labelController.labels.length;
@@ -2360,11 +2360,7 @@ class MailboxDashBoardController extends ReloadableController
_deleteFolderSearchFilter();
break;
case QuickSearchFilter.starred:
deleteStarredSearchFilter();
break;
case QuickSearchFilter.unread:
deleteUnreadSearchFilter();
break;
case QuickSearchFilter.labels:
deleteQuickSearchFilter(filter: searchFilter);
break;
@@ -39,6 +39,12 @@ extension SelectSearchFilterActionExtension on MailboxDashBoardController {
case QuickSearchFilter.labels:
searchController.updateFilterEmail(labelOption: const None());
break;
case QuickSearchFilter.starred:
deleteStarredSearchFilter();
break;
case QuickSearchFilter.unread:
deleteUnreadSearchFilter();
break;
default:
break;
}
@@ -151,8 +151,8 @@ class SearchEmailFilter with EquatableMixin, OptionParamMixin {
Operator.AND,
hasKeyword.map((e) => EmailFilterCondition(hasKeyword: e)).toSet(),
),
if (label != null)
EmailFilterCondition(hasKeyword: label!.keyword?.value),
if (label?.keyword?.value != null)
EmailFilterCondition(hasKeyword: label!.keyword!.value),
if (moreFilterCondition != null && moreFilterCondition.hasCondition)
moreFilterCondition
};
@@ -1,11 +1,11 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/model/filter_filter.dart';
import 'package:tmail_ui_user/features/base/widget/default_field/default_autocomplete_input_field_widget.dart';
import 'package:tmail_ui_user/features/base/widget/default_field/default_button_arrow_down_field_with_tab_key_widget.dart';
import 'package:tmail_ui_user/features/base/widget/default_field/default_date_drop_down_field_widget.dart';
import 'package:tmail_ui_user/features/base/widget/default_field/default_input_field_with_tab_key_widget.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart';
import 'package:tmail_ui_user/features/base/model/filter_filter.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/advanced_search/update_label_in_advanced_search_extension.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/labels/handle_logic_label_extension.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_receive_time_type.dart';