TF-1865: Remove icon svg not use

(cherry picked from commit e5f8b11fd2c2b4ae793e74051a1e78ede710b2be)
This commit is contained in:
HuyNguyen
2023-06-06 01:38:33 +07:00
committed by Dat Vu
parent ee6bf907ff
commit 38edd509c6
13 changed files with 124 additions and 62 deletions
@@ -1,14 +0,0 @@
import 'package:jmap_dart_client/jmap/core/id.dart';
import 'package:jmap_dart_client/jmap/core/utc_date.dart';
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:model/model.dart';
import 'package:tmail_ui_user/features/composer/domain/model/sending_email.dart';
extension SendingEmailExtension on List<SendingEmail> {
List<PresentationEmail> toPresentationEmailList() {
return map((sendingEmail) => sendingEmail.email.sendingEmailToPresentationEmail(
emailId: EmailId(Id(sendingEmail.sendingId)),
createAt: UTCDate(sendingEmail.createTime)
)).toList();
}
}
@@ -226,16 +226,21 @@ class EmailRepositoryImpl extends EmailRepository {
Future<void> storeSendingEmail(
AccountId accountId,
UserName userName,
SendingEmail sendingEmail,
bool isUpdateSendingEmail
) async {
if (isUpdateSendingEmail) {
return await emailDataSource[DataSourceType.hiveCache]!.updateSendingEmail(accountId, userName, sendingEmail);
} else {
return await emailDataSource[DataSourceType.hiveCache]!.storeSendingEmail(accountId, userName, sendingEmail);
}
SendingEmail sendingEmail
) {
return emailDataSource[DataSourceType.hiveCache]!.storeSendingEmail(accountId, userName, sendingEmail);
}
@override
Future<void> updateSendingEmail(
AccountId accountId,
UserName userName,
SendingEmail sendingEmail
) async {
return emailDataSource[DataSourceType.hiveCache]!.updateSendingEmail(accountId, userName, sendingEmail);
}
@override
Future<void> deleteSendingEmail(AccountId accountId, UserName userName, String sendingId) {
return emailDataSource[DataSourceType.hiveCache]!.deleteSendingEmail(accountId, userName, sendingId);
@@ -102,7 +102,9 @@ abstract class EmailRepository {
Future<DetailedEmail?> getOpenedEmail(Session session, AccountId accountId, EmailId emailId);
Future<void> storeSendingEmail(AccountId accountId, UserName userName, SendingEmail sendingEmail, bool isUpdateSendingEmail);
Future<void> storeSendingEmail(AccountId accountId, UserName userName, SendingEmail sendingEmail);
Future<void> updateSendingEmail(AccountId accountId, UserName userName, SendingEmail sendingEmail);
Future<void> deleteSendingEmail(AccountId accountId, UserName userName, String sendingId);
}
@@ -8,9 +8,8 @@ class StoreSendingEmailLoading extends UIState {}
class StoreSendingEmailSuccess extends UIState {
final SendingEmail sendingEmail;
final bool isUpdateSendingEmail;
StoreSendingEmailSuccess(this.sendingEmail, this.isUpdateSendingEmail);
StoreSendingEmailSuccess(this.sendingEmail);
@override
List<Object?> get props => [sendingEmail];
@@ -0,0 +1,23 @@
import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:tmail_ui_user/features/composer/domain/model/sending_email.dart';
class UpdateSendingEmailLoading extends UIState {}
class UpdateSendingEmailSuccess extends UIState {
final SendingEmail sendingEmail;
UpdateSendingEmailSuccess(this.sendingEmail);
@override
List<Object?> get props => [sendingEmail];
}
class UpdateSendingEmailFailure extends FeatureFailure {
UpdateSendingEmailFailure(dynamic exception) : super(exception: exception);
@override
List<Object?> get props => [exception];
}
@@ -5,7 +5,7 @@ import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/user_name.dart';
import 'package:tmail_ui_user/features/composer/domain/model/sending_email.dart';
import 'package:tmail_ui_user/features/email/domain/repository/email_repository.dart';
import 'package:tmail_ui_user/features/email/domain/state/store_sending_email_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/update_sending_email_state.dart';
class StoreSendingEmailInteractor {
final EmailRepository _emailRepository;
@@ -16,14 +16,13 @@ class StoreSendingEmailInteractor {
AccountId accountId,
UserName userName,
SendingEmail sendingEmail,
bool isUpdateSendingEmail
) async* {
try {
yield Right<Failure, Success>(StoreSendingEmailLoading());
await _emailRepository.storeSendingEmail(accountId, userName, sendingEmail, isUpdateSendingEmail);
yield Right<Failure, Success>(StoreSendingEmailSuccess(sendingEmail, isUpdateSendingEmail));
yield Right<Failure, Success>(UpdateSendingEmailLoading());
await _emailRepository.storeSendingEmail(accountId, userName, sendingEmail);
yield Right<Failure, Success>(UpdateSendingEmailSuccess(sendingEmail));
} catch (e) {
yield Left<Failure, Success>(StoreSendingEmailFailure(e));
yield Left<Failure, Success>(UpdateSendingEmailFailure(e));
}
}
}
@@ -0,0 +1,28 @@
import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:dartz/dartz.dart';
import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/user_name.dart';
import 'package:tmail_ui_user/features/composer/domain/model/sending_email.dart';
import 'package:tmail_ui_user/features/email/domain/repository/email_repository.dart';
import 'package:tmail_ui_user/features/email/domain/state/store_sending_email_state.dart';
class UpdateSendingEmailInteractor {
final EmailRepository _emailRepository;
UpdateSendingEmailInteractor(this._emailRepository);
Stream<Either<Failure, Success>> execute(
AccountId accountId,
UserName userName,
SendingEmail sendingEmail,
) async* {
try {
yield Right<Failure, Success>(StoreSendingEmailLoading());
await _emailRepository.updateSendingEmail(accountId, userName, sendingEmail);
yield Right<Failure, Success>(StoreSendingEmailSuccess(sendingEmail));
} catch (e) {
yield Left<Failure, Success>(StoreSendingEmailFailure(e));
}
}
}
@@ -34,6 +34,7 @@ import 'package:tmail_ui_user/features/composer/domain/state/update_email_drafts
import 'package:tmail_ui_user/features/composer/domain/usecases/send_email_interactor.dart';
import 'package:tmail_ui_user/features/composer/presentation/model/sending_email_arguments.dart';
import 'package:tmail_ui_user/features/email/domain/state/store_sending_email_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/update_sending_email_state.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/store_sending_email_interactor.dart';
import 'package:tmail_ui_user/features/composer/presentation/composer_bindings.dart';
import 'package:tmail_ui_user/features/composer/presentation/extensions/email_action_type_extension.dart';
@@ -332,6 +333,8 @@ class MailboxDashBoardController extends ReloadableController {
_handleStoreSendingEmailSuccess(success);
} else if (success is GetAllSendingEmailSuccess) {
_handleGetAllSendingEmailsSuccess(success);
} else if (success is UpdateSendingEmailSuccess) {
_handleUpdateSendingEmailSuccess(success);
}
}
@@ -1767,7 +1770,7 @@ class MailboxDashBoardController extends ReloadableController {
if (currentContext != null && isUpdateSendingEmail == false) {
_showActionSendingEmail(session, accountId, emailRequest, mailboxRequest);
} else {
_handleStoreSendingEmail(session, accountId, emailRequest, mailboxRequest, isUpdateSendingEmail: isUpdateSendingEmail);
_handleUpdateSendingEmail(session, accountId, emailRequest, mailboxRequest);
}
}
} else {
@@ -1785,14 +1788,27 @@ class MailboxDashBoardController extends ReloadableController {
AccountId accountId,
EmailRequest emailRequest,
CreateNewMailboxRequest? mailboxRequest,
{bool? isUpdateSendingEmail = false}
) {
final currentEmailId = emailRequest.email.id?.id.value;
final sendingEmail = emailRequest.toSendingEmail(
emailRequest.email.id != null ? currentEmailId! : _uuid.v1(),
mailboxRequest: mailboxRequest
);
_storeSendingEmail(accountId, session.username, sendingEmail, isUpdateSendingEmail: isUpdateSendingEmail);
_storeSendingEmail(accountId, session.username, sendingEmail);
}
void _handleUpdateSendingEmail(
Session session,
AccountId accountId,
EmailRequest emailRequest,
CreateNewMailboxRequest? mailboxRequest,
) {
final currentEmailId = emailRequest.email.id?.id.value;
final sendingEmail = emailRequest.toSendingEmail(
emailRequest.email.id != null ? currentEmailId! : _uuid.v1(),
mailboxRequest: mailboxRequest
);
_updateSendingEmail(accountId, session.username, sendingEmail);
}
void _showActionSendingEmail(
@@ -1844,34 +1860,44 @@ class MailboxDashBoardController extends ReloadableController {
AccountId accountId,
UserName userName,
SendingEmail sendingEmail,
{bool? isUpdateSendingEmail}
) {
log('MailboxDashBoardController::_storeSendingEmail():sendingEmail: $sendingEmail');
consumeState(_storeSendingEmailInteractor.execute(
accountId,
userName,
sendingEmail,
isUpdateSendingEmail ?? false));
sendingEmail));
}
void _updateSendingEmail(
AccountId accountId,
UserName userName,
SendingEmail sendingEmail
) {
log('MailboxDashBoardController::_storeSendingEmail():sendingEmail: $sendingEmail');
consumeState(_storeSendingEmailInteractor.execute(
accountId,
userName,
sendingEmail));
}
void _handleStoreSendingEmailSuccess(StoreSendingEmailSuccess success) async {
if (success.isUpdateSendingEmail) {
_cancelSendingEmailToSendingQueue(success.sendingEmail);
_addSendingEmailToSendingQueue(success.sendingEmail);
getAllSendingEmails();
} else {
_addSendingEmailToSendingQueue(success.sendingEmail);
getAllSendingEmails();
if (currentOverlayContext != null && currentContext != null) {
_appToast.showToastSuccessMessage(
currentOverlayContext!,
AppLocalizations.of(currentContext!).messageHasBeenSavedToTheSendingQueue,
leadingSVGIconColor: Colors.white,
leadingSVGIcon: _imagePaths.icEmail);
}
_addSendingEmailToSendingQueue(success.sendingEmail);
getAllSendingEmails();
if (currentOverlayContext != null && currentContext != null) {
_appToast.showToastSuccessMessage(
currentOverlayContext!,
AppLocalizations.of(currentContext!).messageHasBeenSavedToTheSendingQueue,
leadingSVGIconColor: Colors.white,
leadingSVGIcon: _imagePaths.icEmail);
}
}
void _handleUpdateSendingEmailSuccess(UpdateSendingEmailSuccess success) async {
_cancelSendingEmailToSendingQueue(success.sendingEmail);
_addSendingEmailToSendingQueue(success.sendingEmail);
getAllSendingEmails();
}
void _cancelSendingEmailToSendingQueue(SendingEmail sendingEmail) async {
try {
await WorkSchedulerController().cancelByUniqueId(sendingEmail.sendingId);
@@ -112,7 +112,9 @@ class SendingQueueController extends BaseController with MessageDialogActionMixi
_deleteSendingEmailAction(context, listSendingEmails);
break;
case SendingEmailActionType.edit:
_editSendingEmailAction(listSendingEmails.first);
if (dashboardController?.networkConnectionController.isNetworkConnectionAvailable() == false) {
_editSendingEmailAction(listSendingEmails.first);
}
break;
}
}