TF-1865: Modify sending email in composer when tap item and Long press item

(cherry picked from commit 5cfda1d92f38da9e5e4fab1413e6e52229a51639)
This commit is contained in:
HuyNguyen
2023-06-05 00:23:29 +07:00
committed by Dat Vu
parent c70a388732
commit 48d32b048d
18 changed files with 159 additions and 23 deletions
@@ -5,7 +5,7 @@ import 'package:model/model.dart';
class GetEmailContentLoading extends LoadingState {}
class GetEmailContentSuccess extends UIState {
final List<EmailContent> emailContents;
final String emailContents;
final List<EmailContent> emailContentsDisplayed;
final List<Attachment> attachments;
final Email? emailCurrent;
@@ -8,8 +8,7 @@ import 'package:dartz/dartz.dart';
import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/session/session.dart';
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:model/extensions/email_extension.dart';
import 'package:model/extensions/list_attachment_extension.dart';
import 'package:model/model.dart';
import 'package:tmail_ui_user/features/email/domain/repository/email_repository.dart';
import 'package:tmail_ui_user/features/email/domain/state/get_email_content_state.dart';
@@ -68,15 +67,15 @@ class GetEmailContentInteractor {
: newEmailContents;
yield Right<Failure, Success>(GetEmailContentSuccess(
newEmailContents,
newEmailContents.asHtmlString,
newEmailContentsDisplayed,
email.allAttachments,
email
));
} else if (email.allAttachments.isNotEmpty) {
yield Right<Failure, Success>(GetEmailContentSuccess([], [], email.allAttachments, email));
yield Right<Failure, Success>(GetEmailContentSuccess("", [], email.allAttachments, email));
} else if (email.headers?.isNotEmpty == true) {
yield Right<Failure, Success>(GetEmailContentSuccess([], [], [], email));
yield Right<Failure, Success>(GetEmailContentSuccess("", [], [], email));
} else {
yield Left(GetEmailContentFailure(null));
}
@@ -371,7 +371,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
emailSupervisorController.popEmailQueue(success.emailCurrent?.id);
emailSupervisorController.pushEmailQueue(EmailLoaded(
success.emailContents.toList(),
success.emailContents,
success.emailContentsDisplayed.toList(),
success.attachments.toList(),
success.emailCurrent,
@@ -379,7 +379,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
if (success.emailCurrent?.id == currentEmail?.id) {
emailContents.value = success.emailContentsDisplayed.asHtmlString;
initialEmailContents = success.emailContents.asHtmlString;
initialEmailContents = success.emailContents;
attachments.value = success.attachments;
if (!BuildUtils.isWeb) {
@@ -3,7 +3,7 @@ import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:model/model.dart';
class EmailLoaded with EquatableMixin {
final List<EmailContent> emailContents;
final String emailContents;
final List<EmailContent> emailContentsDisplayed;
final List<Attachment> attachments;
final Email? emailCurrent;