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 8a3e90bda..79c69979d 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 @@ -10,6 +10,7 @@ import 'package:model/extensions/presentation_mailbox_extension.dart'; import 'package:model/mailbox/presentation_mailbox.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_receive_time_type.dart'; import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart'; +import 'package:jmap_dart_client/jmap/core/sort/comparator.dart'; class SearchEmailFilter with EquatableMixin { final Set from; @@ -23,6 +24,7 @@ class SearchEmailFilter with EquatableMixin { final UTCDate? before; final UTCDate? startDate; final UTCDate? endDate; + final Set? sortOrder; factory SearchEmailFilter.initial() => SearchEmailFilter(); @@ -38,12 +40,14 @@ class SearchEmailFilter with EquatableMixin { this.before, this.startDate, this.endDate, + Set? sortOrder, }) : from = from ?? {}, to = to ?? {}, notKeyword = notKeyword ?? {}, hasAttachment = hasAttachment ?? false, emailReceiveTimeType = - emailReceiveTimeType ?? EmailReceiveTimeType.allTime; + emailReceiveTimeType ?? EmailReceiveTimeType.allTime, + sortOrder = sortOrder ?? {}; SearchEmailFilter copyWith({ Option>? fromOption, @@ -57,6 +61,7 @@ class SearchEmailFilter with EquatableMixin { Option? beforeOption, Option? startDateOption, Option? endDateOption, + Set? sortOrder, }) { return SearchEmailFilter( from: _getOptionParam(fromOption, from), @@ -70,6 +75,7 @@ class SearchEmailFilter with EquatableMixin { before: _getOptionParam(beforeOption, before), startDate: _getOptionParam(startDateOption, startDate), endDate: _getOptionParam(endDateOption, endDate), + sortOrder: sortOrder ?? this.sortOrder, ); } @@ -131,6 +137,7 @@ class SearchEmailFilter with EquatableMixin { hasAttachment, before, startDate, - endDate + endDate, + sortOrder, ]; } \ No newline at end of file