TF-4236 Implement remove a label from an thread

This commit is contained in:
dab246
2026-01-09 19:49:21 +07:00
committed by Dat H. Pham
parent b37359af03
commit 1058b94363
23 changed files with 402 additions and 47 deletions
@@ -0,0 +1,33 @@
import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:jmap_dart_client/jmap/mail/email/keyword_identifier.dart';
class RemovingALabelFromAThread extends LoadingState {}
class RemoveALabelFromAThreadSuccess extends UIState {
final List<EmailId> emailIds;
final KeyWordIdentifier labelKeyword;
final String labelDisplay;
RemoveALabelFromAThreadSuccess(
this.emailIds,
this.labelKeyword,
this.labelDisplay,
);
@override
List<Object> get props => [emailIds, labelKeyword, labelDisplay];
}
class RemoveALabelFromAThreadFailure extends FeatureFailure {
final String labelDisplay;
RemoveALabelFromAThreadFailure({
dynamic exception,
required this.labelDisplay,
}) : super(exception: exception);
@override
List<Object?> get props => [...super.props, labelDisplay];
}