diff --git a/lib/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart b/lib/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart index e47f562af..2f84ee76b 100644 --- a/lib/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart +++ b/lib/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart @@ -35,7 +35,7 @@ class AdvancedFilterController extends BaseController { final hasAttachment = false.obs; final startDate = Rxn(); final endDate = Rxn(); - final sortOrderType = EmailSortOrderType.mostRecent.obs; + final sortOrderType = EmailSortOrderType.defaultSortOrder.obs; final selectedFolderName = Rxn(); final GlobalKey keyFromEmailTagEditor = GlobalKey(); diff --git a/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart b/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart index 60bd45eec..a80450b85 100644 --- a/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart +++ b/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart @@ -129,6 +129,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/refr import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_receive_time_type.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_sort_order_type.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/quick_search_filter.dart'; +import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/search_email_filter.dart'; import 'package:tmail_ui_user/features/mailto/presentation/model/mailto_arguments.dart'; import 'package:tmail_ui_user/features/manage_account/domain/state/create_new_rule_filter_state.dart'; import 'package:tmail_ui_user/features/manage_account/domain/state/get_all_identities_state.dart'; @@ -2149,7 +2150,7 @@ class MailboxDashBoardController extends ReloadableController void _deleteSortOrderSearchFilter() { searchController.updateFilterEmail( - sortOrderTypeOption: const Some(EmailSortOrderType.mostRecent)); + sortOrderTypeOption: const Some(SearchEmailFilter.defaultSortOrder)); dispatchAction(StartSearchEmailAction()); } diff --git a/lib/features/mailbox_dashboard/presentation/model/search/advanced_search_filter.dart b/lib/features/mailbox_dashboard/presentation/model/search/advanced_search_filter.dart new file mode 100644 index 000000000..e69de29bb diff --git a/lib/features/mailbox_dashboard/presentation/model/search/quick_search_filter.dart b/lib/features/mailbox_dashboard/presentation/model/search/quick_search_filter.dart index 806beac86..ac0416439 100644 --- a/lib/features/mailbox_dashboard/presentation/model/search/quick_search_filter.dart +++ b/lib/features/mailbox_dashboard/presentation/model/search/quick_search_filter.dart @@ -43,7 +43,7 @@ enum QuickSearchFilter { return AppLocalizations.of(context).fromMe; case QuickSearchFilter.sortBy: return sortOrderType?.getTitle(context) - ?? AppLocalizations.of(context).mostRecent; + ?? SearchEmailFilter.defaultSortOrder.getTitle(context); case QuickSearchFilter.dateTime: return receiveTimeType?.getTitle( context, @@ -138,7 +138,7 @@ enum QuickSearchFilter { currentUserEmail?.isNotEmpty == true && currentUserEmail == searchFilter.from.first; case QuickSearchFilter.sortBy: - return sortOrderType != EmailSortOrderType.mostRecent; + return sortOrderType != SearchEmailFilter.defaultSortOrder; case QuickSearchFilter.dateTime: return searchFilter.emailReceiveTimeType != EmailReceiveTimeType.allTime; case QuickSearchFilter.from: diff --git a/lib/features/mailbox_dashboard/presentation/model/search/search_email_filter.dart b/lib/features/mailbox_dashboard/presentation/model/search/search_email_filter.dart index 5759e86a9..b34d0dc31 100644 --- a/lib/features/mailbox_dashboard/presentation/model/search/search_email_filter.dart +++ b/lib/features/mailbox_dashboard/presentation/model/search/search_email_filter.dart @@ -17,6 +17,9 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/sear import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart'; class SearchEmailFilter with EquatableMixin, OptionParamMixin { + + static const EmailSortOrderType defaultSortOrder = EmailSortOrderType.relevance; + final Set from; final Set to; final SearchQuery? text; @@ -56,7 +59,7 @@ class SearchEmailFilter with EquatableMixin, OptionParamMixin { hasAttachment = hasAttachment ?? false, emailReceiveTimeType = emailReceiveTimeType ?? EmailReceiveTimeType.allTime, - sortOrderType = sortOrderType ?? EmailSortOrderType.mostRecent; + sortOrderType = sortOrderType ?? defaultSortOrder; SearchEmailFilter copyWith({ Option>? fromOption, @@ -189,7 +192,7 @@ class SearchEmailFilter with EquatableMixin, OptionParamMixin { hasKeyword.isNotEmpty == true || notKeyword.isNotEmpty == true || emailReceiveTimeType != EmailReceiveTimeType.allTime || - sortOrderType != EmailSortOrderType.mostRecent || + sortOrderType != SearchEmailFilter.defaultSortOrder || (mailbox != null && mailbox?.id != PresentationMailbox.unifiedMailbox.id) || hasAttachment; diff --git a/lib/features/search/email/presentation/search_email_controller.dart b/lib/features/search/email/presentation/search_email_controller.dart index c6d979870..6c316210d 100644 --- a/lib/features/search/email/presentation/search_email_controller.dart +++ b/lib/features/search/email/presentation/search_email_controller.dart @@ -103,7 +103,7 @@ class SearchEmailController extends BaseController final searchIsRunning = RxBool(false); final emailReceiveTimeType = EmailReceiveTimeType.allTime.obs; final selectionMode = Rx(SelectMode.INACTIVE); - final emailSortOrderType = EmailSortOrderType.mostRecent.obs; + final emailSortOrderType = SearchEmailFilter.defaultSortOrder.obs; final suggestionSearchViewState = Rx>(Right(UIState.idle)); final resultSearchViewState = Rx>(Right(UIState.idle)); @@ -589,7 +589,7 @@ class SearchEmailController extends BaseController listSuggestionSearch.clear(); listResultSearch.clear(); emailReceiveTimeType.value = EmailReceiveTimeType.allTime; - emailSortOrderType.value = EmailSortOrderType.mostRecent; + emailSortOrderType.value = SearchEmailFilter.defaultSortOrder; searchEmailFilter.value = SearchEmailFilter.initial(); searchIsRunning.value = false; final isMailAddress = EmailUtils.isEmailAddressValid(queryString); @@ -1017,8 +1017,8 @@ class SearchEmailController extends BaseController } void _deleteSortOrderSearchFilter(BuildContext context) { - emailSortOrderType.value = EmailSortOrderType.mostRecent; - _updateSimpleSearchFilter(sortOrderTypeOption: const Some(EmailSortOrderType.mostRecent)); + emailSortOrderType.value = SearchEmailFilter.defaultSortOrder; + _updateSimpleSearchFilter(sortOrderTypeOption: const Some(SearchEmailFilter.defaultSortOrder)); _searchEmailAction(context); } @@ -1056,7 +1056,7 @@ class SearchEmailController extends BaseController canSearchMore = true; searchMoreState = SearchMoreState.idle; emailReceiveTimeType.value = EmailReceiveTimeType.allTime; - emailSortOrderType.value = EmailSortOrderType.mostRecent; + emailSortOrderType.value = SearchEmailFilter.defaultSortOrder; searchEmailFilter.value = SearchEmailFilter.initial(); _searchEmailAction(context); }