TF-3941 Thread Detail Thread level mark read/star, archive and spam

This commit is contained in:
DatDang
2025-08-05 14:15:03 +07:00
committed by Dat H. Pham
parent f44118af48
commit b7cd3f7179
35 changed files with 902 additions and 552 deletions
@@ -1,6 +1,7 @@
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:tmail_ui_user/features/thread_detail/domain/model/email_in_thread_detail_info.dart';
class GettingThreadById extends LoadingState {
final bool updateCurrentThreadDetail;
@@ -16,25 +17,32 @@ class GetThreadByIdSuccess extends UIState {
final ThreadId? threadId;
final bool updateCurrentThreadDetail;
final bool skipLoadingMetadata;
final List<EmailInThreadDetailInfo> emailsInThreadDetailInfo;
GetThreadByIdSuccess(
this.emailIds, {
required this.threadId,
this.updateCurrentThreadDetail = false,
this.skipLoadingMetadata = false,
this.emailsInThreadDetailInfo = const [],
});
@override
List<Object?> get props => [
emailIds,
threadId,
emailsInThreadDetailInfo,
updateCurrentThreadDetail,
skipLoadingMetadata,
];
}
class PreloadEmailIdsInThreadSuccess extends GetThreadByIdSuccess {
PreloadEmailIdsInThreadSuccess(super.emailIds, {required super.threadId});
PreloadEmailIdsInThreadSuccess(
super.emailIds, {
required super.threadId,
super.emailsInThreadDetailInfo,
});
}
class GetThreadByIdFailure extends FeatureFailure {