diff --git a/lib/features/mailbox/presentation/mixin/mailbox_widget_mixin.dart b/lib/features/mailbox/presentation/mixin/mailbox_widget_mixin.dart index 4438881cf..dde378d10 100644 --- a/lib/features/mailbox/presentation/mixin/mailbox_widget_mixin.dart +++ b/lib/features/mailbox/presentation/mixin/mailbox_widget_mixin.dart @@ -42,7 +42,9 @@ mixin MailboxWidgetMixin { if (mailbox.getCountUnReadEmails().isNotEmpty) MailboxActions.markAsRead, if (mailbox.isTrash) - MailboxActions.emptyTrash + MailboxActions.emptyTrash, + if (PlatformInfo.isWeb && mailbox.isSpam) + MailboxActions.emptySpam, ]; } diff --git a/lib/features/mailbox/presentation/model/mailbox_actions.dart b/lib/features/mailbox/presentation/model/mailbox_actions.dart index a847b7124..72fa31b97 100644 --- a/lib/features/mailbox/presentation/model/mailbox_actions.dart +++ b/lib/features/mailbox/presentation/model/mailbox_actions.dart @@ -19,7 +19,8 @@ enum MailboxActions { enableSpamReport, disableMailbox, enableMailbox, - emptyTrash; + emptyTrash, + emptySpam; } extension MailboxActionsExtension on MailboxActions { @@ -61,6 +62,8 @@ extension MailboxActionsExtension on MailboxActions { return AppLocalizations.of(context).showMailbox; case MailboxActions.emptyTrash: return AppLocalizations.of(context).emptyTrash; + case MailboxActions.emptySpam: + return AppLocalizations.of(context).deleteAllSpamEmails; default: return ''; } @@ -88,6 +91,8 @@ extension MailboxActionsExtension on MailboxActions { return imagePaths.icShowMailbox; case MailboxActions.emptyTrash: return imagePaths.icMailboxTrash; + case MailboxActions.emptySpam: + return imagePaths.icMailboxTrash; default: return ''; } @@ -158,6 +163,7 @@ extension MailboxActionsExtension on MailboxActions { case MailboxActions.rename: case MailboxActions.delete: case MailboxActions.emptyTrash: + case MailboxActions.emptySpam: return ContextMenuItemState.activated; case MailboxActions.markAsRead: return mailbox.getCountUnReadEmails().isNotEmpty diff --git a/lib/l10n/intl_messages.arb b/lib/l10n/intl_messages.arb index 7dfb0a04b..fecc4410d 100644 --- a/lib/l10n/intl_messages.arb +++ b/lib/l10n/intl_messages.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-07-28T02:46:38.430701", + "@@last_modified": "2023-08-03T15:58:37.476969", "initializing_data": "Initializing data...", "@initializing_data": { "type": "text", @@ -3107,5 +3107,23 @@ "type": "text", "placeholders_order": [], "placeholders": {} + }, + "deleteAllSpamEmails": "Delete all spam emails", + "@deleteAllSpamEmails": { + "type": "text", + "placeholders_order": [], + "placeholders": {} + }, + "emptySpamFolder": "Empty Spam folder", + "@emptySpamFolder": { + "type": "text", + "placeholders_order": [], + "placeholders": {} + }, + "emptySpamMessageDialog": "You are about to permanently delete all items in Spam . Do you want to continue?", + "@emptySpamMessageDialog": { + "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 29e81d209..6115cab09 100644 --- a/lib/main/localizations/app_localizations.dart +++ b/lib/main/localizations/app_localizations.dart @@ -3204,4 +3204,22 @@ class AppLocalizations { 'Link', name: 'link'); } + + String get deleteAllSpamEmails { + return Intl.message( + 'Delete all spam emails', + name: 'deleteAllSpamEmails'); + } + + String get emptySpamFolder { + return Intl.message( + 'Empty Spam folder', + name: 'emptySpamFolder'); + } + + String get emptySpamMessageDialog { + return Intl.message( + 'You are about to permanently delete all items in Spam . Do you want to continue?', + name: 'emptySpamMessageDialog'); + } } \ No newline at end of file