feat: Re-use AddLabelToEmailMixin for logic add label to email in EmailView

This commit is contained in:
dab246
2026-02-05 13:03:18 +07:00
committed by Dat H. Pham
parent f4ae94d47b
commit 432c482155
14 changed files with 443 additions and 263 deletions
@@ -1,6 +1,7 @@
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:jmap_dart_client/jmap/mail/email/keyword_identifier.dart';
import 'package:labels/model/label.dart';
import 'package:model/email/email_action_type.dart';
import 'package:model/email/presentation_email.dart';
@@ -127,3 +128,22 @@ class RemoveLabelFromEmailAction extends EmailUIAction {
@override
List<Object?> get props => [emailId, label];
}
class SyncUpdateLabelForEmailOnMemory extends EmailUIAction {
final EmailId emailId;
final KeyWordIdentifier labelKeyword;
final bool shouldRemove;
SyncUpdateLabelForEmailOnMemory({
required this.emailId,
required this.labelKeyword,
required this.shouldRemove,
});
@override
List<Object?> get props => [
emailId,
labelKeyword,
shouldRemove,
];
}