From 192dad149b3918fc1d206c4c396fa2bf5e686657 Mon Sep 17 00:00:00 2001 From: dab246 Date: Mon, 10 Feb 2025 14:26:15 +0700 Subject: [PATCH] TF-3461 Add sort by message size Signed-off-by: dab246 --- ...search_email_with_sort_order_scenario.dart | 4 ++++ .../model/search/email_sort_order_type.dart | 22 ++++++++++++++++++- lib/l10n/intl_messages.arb | 12 ++++++++++ lib/main/localizations/app_localizations.dart | 14 ++++++++++++ 4 files changed, 51 insertions(+), 1 deletion(-) diff --git a/integration_test/scenarios/search_email_with_sort_order_scenario.dart b/integration_test/scenarios/search_email_with_sort_order_scenario.dart index 9b436133d..cd66d5da7 100644 --- a/integration_test/scenarios/search_email_with_sort_order_scenario.dart +++ b/integration_test/scenarios/search_email_with_sort_order_scenario.dart @@ -76,6 +76,10 @@ class SearchEmailWithSortOrderScenario extends BaseTestScenario { break; case EmailSortOrderType.relevance: break; + case EmailSortOrderType.sizeAscending: + break; + case EmailSortOrderType.sizeDescending: + break; } } diff --git a/lib/features/mailbox_dashboard/presentation/model/search/email_sort_order_type.dart b/lib/features/mailbox_dashboard/presentation/model/search/email_sort_order_type.dart index 23172312b..e7b342a6c 100644 --- a/lib/features/mailbox_dashboard/presentation/model/search/email_sort_order_type.dart +++ b/lib/features/mailbox_dashboard/presentation/model/search/email_sort_order_type.dart @@ -12,7 +12,9 @@ enum EmailSortOrderType { senderAscending, senderDescending, subjectAscending, - subjectDescending; + subjectDescending, + sizeAscending, + sizeDescending; String getTitle(BuildContext context) { return getTitleByAppLocalizations(AppLocalizations.of(context)); @@ -34,6 +36,10 @@ enum EmailSortOrderType { return appLocalizations.subjectAscending; case EmailSortOrderType.subjectDescending: return appLocalizations.subjectDescending; + case EmailSortOrderType.sizeAscending: + return appLocalizations.sizeAscending; + case EmailSortOrderType.sizeDescending: + return appLocalizations.sizeDescending; } } @@ -77,6 +83,18 @@ enum EmailSortOrderType { ..add(EmailComparator(EmailComparatorProperty.subject) ..setIsAscending(false)) ); + case EmailSortOrderType.sizeAscending: + return Some( + {} + ..add(EmailComparator(EmailComparatorProperty.size) + ..setIsAscending(true)) + ); + case EmailSortOrderType.sizeDescending: + return Some( + {} + ..add(EmailComparator(EmailComparatorProperty.size) + ..setIsAscending(false)) + ); } } @@ -93,6 +111,8 @@ enum EmailSortOrderType { this == EmailSortOrderType.subjectAscending || this == EmailSortOrderType.senderDescending || this == EmailSortOrderType.senderAscending || + this == EmailSortOrderType.sizeDescending || + this == EmailSortOrderType.sizeAscending || this == EmailSortOrderType.relevance; } } \ No newline at end of file diff --git a/lib/l10n/intl_messages.arb b/lib/l10n/intl_messages.arb index 8e390a731..3ec049a05 100644 --- a/lib/l10n/intl_messages.arb +++ b/lib/l10n/intl_messages.arb @@ -4297,5 +4297,17 @@ "type": "text", "placeholders_order": [], "placeholders": {} + }, + "sizeDescending": "Size: Big - Small", + "@sizeDescending": { + "type": "text", + "placeholders_order": [], + "placeholders": {} + }, + "sizeAscending": "Size: Small - Big", + "@sizeAscending": { + "type": "text", + "placeholders_order": [], + "placeholders": {} } } \ No newline at end of file diff --git a/lib/main/localizations/app_localizations.dart b/lib/main/localizations/app_localizations.dart index 0e4c8373e..7d4a854f2 100644 --- a/lib/main/localizations/app_localizations.dart +++ b/lib/main/localizations/app_localizations.dart @@ -4506,4 +4506,18 @@ class AppLocalizations { name: 'downloadAttachmentHasBeenCancelled', ); } + + String get sizeDescending { + return Intl.message( + 'Size: Big - Small', + name: 'sizeDescending', + ); + } + + String get sizeAscending { + return Intl.message( + 'Size: Small - Big', + name: 'sizeAscending', + ); + } }