TF-1865: Remove icon svg not use
(cherry picked from commit e5f8b11fd2c2b4ae793e74051a1e78ede710b2be)
This commit is contained in:
@@ -1,4 +0,0 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M18.4349 3.85715C18.9085 3.85715 19.2924 4.2409 19.2924 4.71429V7.71429C19.2924 8.18767 18.9085 8.57143 18.4349 8.57143H15.4334C14.9598 8.57143 14.5759 8.18767 14.5759 7.71429C14.5759 7.2409 14.9598 6.85714 15.4334 6.85714H16.5412C15.3313 5.78958 13.7427 5.14286 12.0032 5.14286C8.47247 5.14286 5.5637 7.80941 5.18461 11.237C5.13257 11.7076 4.70877 12.0468 4.23802 11.9948C3.76727 11.9428 3.42784 11.5192 3.47988 11.0487C3.95396 6.7621 7.5885 3.42857 12.0032 3.42857C14.1317 3.42857 16.0788 4.20402 17.5773 5.48622V4.71429C17.5773 4.2409 17.9613 3.85715 18.4349 3.85715Z" fill="#007AFF"/>
|
||||
<path d="M19.7683 12.0052C20.2391 12.0572 20.5785 12.4808 20.5265 12.9513C20.0524 17.2379 16.4179 20.5714 12.0032 20.5714C9.87469 20.5714 7.92758 19.796 6.42904 18.5138V19.2857C6.42904 19.7591 6.04509 20.1429 5.57148 20.1429C5.09786 20.1429 4.71392 19.7591 4.71392 19.2857V16.2857C4.71392 15.8123 5.09786 15.4286 5.57148 15.4286H8.57294C9.04656 15.4286 9.4305 15.8123 9.4305 16.2857C9.4305 16.7591 9.04656 17.1429 8.57294 17.1429H7.46511C8.67505 18.2104 10.2636 18.8571 12.0032 18.8571C15.5339 18.8571 18.4427 16.1906 18.8217 12.763C18.8738 12.2924 19.2976 11.9532 19.7683 12.0052Z" fill="#007AFF"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB |
@@ -185,7 +185,6 @@ class ImagePaths {
|
||||
String get icAvatarPersonal => _getImagePath('ic_avatar_personal.svg');
|
||||
String get icDialogOfflineMode => _getImagePath('ic_dialog_offline_mode.svg');
|
||||
String get icMenuMailbox => _getImagePath('ic_menu_mailbox.svg');
|
||||
String get icResendEmail => _getImagePath('ic_resend_email.svg');
|
||||
|
||||
String _getImagePath(String imageName) {
|
||||
return AssetsPaths.images + imageName;
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
+46
-20
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,5 @@ enum EmailActionType {
|
||||
selection,
|
||||
moveToSpam,
|
||||
unSpam,
|
||||
openInNewTab,
|
||||
resend
|
||||
openInNewTab
|
||||
}
|
||||
@@ -2,7 +2,6 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:jmap_dart_client/jmap/core/properties/properties.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/utc_date.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email_body_part.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/keyword_identifier.dart';
|
||||
@@ -141,7 +140,6 @@ extension EmailExtension on Email {
|
||||
{
|
||||
SelectMode selectMode = SelectMode.INACTIVE,
|
||||
EmailId? emailId,
|
||||
UTCDate? createAt,
|
||||
}
|
||||
) {
|
||||
return PresentationEmail(
|
||||
@@ -152,7 +150,7 @@ extension EmailExtension on Email {
|
||||
hasAttachment: hasAttachment,
|
||||
preview: preview,
|
||||
subject: subject,
|
||||
sentAt: createAt ?? sentAt,
|
||||
sentAt: sentAt,
|
||||
from: from,
|
||||
to: to,
|
||||
cc: cc,
|
||||
|
||||
Reference in New Issue
Block a user