TF-1493 Synchronize 2 types of signature when sending email

This commit is contained in:
dab246
2023-03-01 17:35:23 +07:00
committed by Dat Vu
parent b4bdc70ba0
commit b9ea97baa5
@@ -56,6 +56,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/save_co
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
import 'package:tmail_ui_user/features/manage_account/domain/state/get_all_identities_state.dart'; import 'package:tmail_ui_user/features/manage_account/domain/state/get_all_identities_state.dart';
import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_all_identities_interactor.dart'; import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_all_identities_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/extensions/identity_extension.dart';
import 'package:tmail_ui_user/features/upload/domain/model/upload_task_id.dart'; import 'package:tmail_ui_user/features/upload/domain/model/upload_task_id.dart';
import 'package:tmail_ui_user/features/upload/domain/state/attachment_upload_state.dart'; import 'package:tmail_ui_user/features/upload/domain/state/attachment_upload_state.dart';
import 'package:tmail_ui_user/features/upload/domain/state/local_file_picker_state.dart'; import 'package:tmail_ui_user/features/upload/domain/state/local_file_picker_state.dart';
@@ -162,9 +163,9 @@ class ComposerController extends BaseController {
final newContentHtml = contentHtml.removeEditorStartTag(); final newContentHtml = contentHtml.removeEditorStartTag();
if (changedEmail) { if (changedEmail) {
return newContentHtml; return newContentHtml;
} else if (_isMobileApp && identitySelected.value?.textSignature?.value.isNotEmpty == true) { } else if (_isMobileApp && identitySelected.value?.signatureAsString.isNotEmpty == true) {
final contentHtmlWithSignature = final contentHtmlWithSignature =
'$newContentHtml${identitySelected.value?.textSignature?.value.toSignatureBlock()}'; '$newContentHtml${identitySelected.value?.signatureAsString.toSignatureBlock()}';
log('ComposerController::_getEmailBodyText():MOBILE:SIGNATURE: $contentHtmlWithSignature'); log('ComposerController::_getEmailBodyText():MOBILE:SIGNATURE: $contentHtmlWithSignature');
return contentHtmlWithSignature; return contentHtmlWithSignature;
} else { } else {
@@ -922,10 +923,8 @@ class ComposerController extends BaseController {
oldEmailBody = BuildUtils.isWeb ? oldEmailBody : '\n$oldEmailBody\n'; oldEmailBody = BuildUtils.isWeb ? oldEmailBody : '\n$oldEmailBody\n';
} }
if (BuildUtils.isWeb) { if (BuildUtils.isWeb) {
if (identitySelected.value?.htmlSignature?.value.isNotEmpty == true) { if (identitySelected.value?.signatureAsString.isNotEmpty == true) {
oldEmailBody = '$oldEmailBody${identitySelected.value?.htmlSignature?.value.toSignatureBlock()}'; oldEmailBody = '$oldEmailBody${identitySelected.value?.signatureAsString.toSignatureBlock()}';
} else if (identitySelected.value?.textSignature?.value.isNotEmpty == true) {
oldEmailBody = '$oldEmailBody${identitySelected.value?.textSignature?.value.toSignatureBlock()}';
} }
} }
@@ -1330,8 +1329,8 @@ class ComposerController extends BaseController {
bool get _isMobileApp { bool get _isMobileApp {
return !BuildUtils.isWeb return !BuildUtils.isWeb
&& currentContext != null && currentContext != null
&& _responsiveUtils.isMobile(currentContext!); && (_responsiveUtils.isLandscapeMobile(currentContext!) || _responsiveUtils.isPortraitMobile(currentContext!));
} }
Future<void> _applyIdentityForAllFieldComposer( Future<void> _applyIdentityForAllFieldComposer(
@@ -1354,12 +1353,8 @@ class ComposerController extends BaseController {
await _applyBccEmailAddressFromIdentity(newIdentity.bcc!); await _applyBccEmailAddressFromIdentity(newIdentity.bcc!);
} }
if (!_isMobileApp) { if (!_isMobileApp && newIdentity.signatureAsString.isNotEmpty == true) {
if (newIdentity.htmlSignature?.value.isNotEmpty == true) { _applySignature(newIdentity.signatureAsString);
_applySignature(newIdentity.htmlSignature!);
} else if (newIdentity.textSignature?.value.isNotEmpty == true) {
_applySignature(newIdentity.textSignature!);
}
} }
return Future.value(null); return Future.value(null);
@@ -1391,8 +1386,8 @@ class ComposerController extends BaseController {
_updateStatusEmailSendButton(); _updateStatusEmailSendButton();
} }
void _applySignature(Signature signature) { void _applySignature(String signature) {
final signatureAsHtml = '--<br><br>${signature.value}'; final signatureAsHtml = '--<br><br>$signature';
log('ComposerController::_applySignature(): $signatureAsHtml'); log('ComposerController::_applySignature(): $signatureAsHtml');
if (BuildUtils.isWeb) { if (BuildUtils.isWeb) {
richTextWebController.editorController.insertSignature(signatureAsHtml); richTextWebController.editorController.insertSignature(signatureAsHtml);