diff --git a/lib/features/identity_creator/presentation/identity_creator_controller.dart b/lib/features/identity_creator/presentation/identity_creator_controller.dart index c356d24bc..3e849a94a 100644 --- a/lib/features/identity_creator/presentation/identity_creator_controller.dart +++ b/lib/features/identity_creator/presentation/identity_creator_controller.dart @@ -23,7 +23,6 @@ import 'package:tmail_ui_user/features/composer/presentation/controller/rich_tex import 'package:tmail_ui_user/features/composer/presentation/controller/rich_text_web_controller.dart'; import 'package:tmail_ui_user/features/identity_creator/presentation/identity_creator_bindings.dart'; import 'package:tmail_ui_user/features/identity_creator/presentation/model/identity_creator_arguments.dart'; -import 'package:tmail_ui_user/features/identity_creator/presentation/model/signature_type.dart'; import 'package:tmail_ui_user/features/mailbox_creator/domain/model/verification/email_address_validator.dart'; import 'package:tmail_ui_user/features/mailbox_creator/domain/model/verification/empty_name_validator.dart'; import 'package:tmail_ui_user/features/mailbox_creator/domain/state/verify_name_view_state.dart'; @@ -50,7 +49,6 @@ class IdentityCreatorController extends BaseController { final _uuid = Get.find(); final noneEmailAddress = EmailAddress(null, 'None'); - final signatureType = SignatureType.plainText.obs; final listEmailAddressDefault = [].obs; final listEmailAddressOfReplyTo = [].obs; final errorNameIdentity = Rxn(); @@ -67,12 +65,10 @@ class IdentityCreatorController extends BaseController { late RichTextWebController richTextWebController; late RichTextMobileTabletController richTextMobileTabletController; late HtmlEditorController signatureHtmlEditorController; - TextEditingController? signaturePlainEditorController; TextEditingController? inputNameIdentityController; TextEditingController? inputBccIdentityController; FocusNode? inputNameIdentityFocusNode; - HtmlEditorApi? signatureHtmlEditorMobileController; String? _nameIdentity; String? _contentHtmlEditor; AccountId? accountId; @@ -93,7 +89,9 @@ class IdentityCreatorController extends BaseController { void updateContentHtmlEditor(String? text) => _contentHtmlEditor = text; - String? get contentHtmlEditor => _contentHtmlEditor; + HtmlEditorApi? get signatureHtmlEditorMobileController => richTextMobileTabletController.htmlEditorApi; + + String? get contentHtmlEditor => _contentHtmlEditor ?? arguments?.identity?.htmlSignature?.value; IdentityCreatorController( this._verifyNameInteractor, @@ -109,7 +107,6 @@ class IdentityCreatorController extends BaseController { richTextMobileTabletController = RichTextMobileTabletController(); signatureHtmlEditorController = HtmlEditorController(processNewLineAsBr: true); - signaturePlainEditorController = TextEditingController(); inputNameIdentityController = TextEditingController(); inputBccIdentityController = TextEditingController(); inputNameIdentityFocusNode = FocusNode(); @@ -157,13 +154,9 @@ class IdentityCreatorController extends BaseController { _nameIdentity = identity?.name ?? ''; inputNameIdentityController?.text = identity?.name ?? ''; - if (identity?.textSignature?.value.isNotEmpty == true) { - signaturePlainEditorController?.text = identity?.textSignature?.value ?? ''; - } - if (identity?.htmlSignature?.value.isNotEmpty == true) { - updateContentHtmlEditor(identity?.htmlSignature?.value ?? ''); - signatureHtmlEditorController.setText(identity?.htmlSignature?.value ?? ''); + updateContentHtmlEditor(arguments?.identity?.htmlSignature?.value ?? ''); + signatureHtmlEditorController.setText(arguments?.identity?.htmlSignature?.value ?? ''); } } @@ -282,15 +275,6 @@ class IdentityCreatorController extends BaseController { return defaultIdentityIds?.length != allIdentities?.length; } - void selectSignatureType(BuildContext context, SignatureType newSignatureType) async { - if (newSignatureType == SignatureType.plainText && !BuildUtils.isWeb) { - final signatureText = await _getSignatureHtmlText(); - updateContentHtmlEditor(signatureText); - } - clearFocusEditor(context); - signatureType.value = newSignatureType; - } - void updateEmailOfIdentity(EmailAddress? newEmailAddress) { emailOfIdentity.value = newEmailAddress; } @@ -326,7 +310,6 @@ class IdentityCreatorController extends BaseController { return; } - final signaturePlainText = signaturePlainEditorController?.text ?? ''; final signatureHtmlText = BuildUtils.isWeb ? contentHtmlEditor : await _getSignatureHtmlText(); @@ -346,7 +329,6 @@ class IdentityCreatorController extends BaseController { email: emailOfIdentity.value?.email, replyTo: replyToAddress, bcc: bccAddress, - textSignature: Signature(signaturePlainText), htmlSignature: Signature(signatureHtmlText ?? ''), sortOrder: sortOrder); @@ -459,8 +441,6 @@ class IdentityCreatorController extends BaseController { } void _disposeWidget() { - signaturePlainEditorController?.dispose(); - signaturePlainEditorController = null; inputNameIdentityFocusNode?.dispose(); inputNameIdentityFocusNode = null; inputNameIdentityController?.dispose(); diff --git a/lib/features/identity_creator/presentation/identity_creator_view.dart b/lib/features/identity_creator/presentation/identity_creator_view.dart index dc5d17e9e..01249108c 100644 --- a/lib/features/identity_creator/presentation/identity_creator_view.dart +++ b/lib/features/identity_creator/presentation/identity_creator_view.dart @@ -14,7 +14,6 @@ import 'package:rich_text_composer/views/widgets/rich_text_keyboard_toolbar.dart import 'package:tmail_ui_user/features/composer/presentation/widgets/toolbar_rich_text_builder.dart'; import 'package:tmail_ui_user/features/identity_creator/presentation/identity_creator_controller.dart'; import 'package:tmail_ui_user/features/identity_creator/presentation/model/identity_creator_arguments.dart'; -import 'package:tmail_ui_user/features/identity_creator/presentation/model/signature_type.dart'; import 'package:tmail_ui_user/features/identity_creator/presentation/widgets/identity_drop_list_field_builder.dart'; import 'package:tmail_ui_user/features/identity_creator/presentation/widgets/identity_field_no_editable_builder.dart'; import 'package:tmail_ui_user/features/identity_creator/presentation/widgets/identity_input_field_builder.dart'; @@ -235,15 +234,13 @@ class IdentityCreatorView extends GetWidget { ), Expanded( child: Row(mainAxisAlignment: MainAxisAlignment.end, children: [ - Obx(() => _buildSignatureButton(context, SignatureType.plainText)), - const SizedBox(width: 10), - Obx(() => _buildSignatureButton(context, SignatureType.htmlTemplate)), + _buildSignatureButton(context) ]), ) ], ), const SizedBox(height: 8), - Obx(() => PointerInterceptor( + PointerInterceptor( child: Container( height: 300, decoration: BoxDecoration( @@ -251,16 +248,9 @@ class IdentityCreatorView extends GetWidget { border: Border.all(color: AppColor.colorInputBorderCreateMailbox), color: Colors.white, ), - child: Stack( - children: [ - if (controller.signatureType.value == SignatureType.plainText) - _buildSignaturePlainTextTemplate(context) - else - _buildSignatureHtmlTemplate(context) - ] - ), + child: _buildSignatureHtmlTemplate(context), ), - )), + ), if (_responsiveUtils.isTablet(context) || _responsiveUtils.isMobile(context))...[ Obx(() => Padding( padding: const EdgeInsets.only(top: 27, bottom: 135), @@ -371,51 +361,16 @@ class IdentityCreatorView extends GetWidget { ); } - Widget _buildSignatureButton(BuildContext context, SignatureType signatureType) { + Widget _buildSignatureButton(BuildContext context) { return buildButtonWrapText( - signatureType.getTitle(context), - textStyle: TextStyle( + AppLocalizations.of(context).html, + textStyle: const TextStyle( fontWeight: FontWeight.w500, fontSize: 14, - color: controller.signatureType.value == signatureType - ? AppColor.colorContentEmail - : AppColor.colorHintSearchBar), - bgColor: controller.signatureType.value == signatureType - ? AppColor.emailAddressChipColor - : Colors.transparent, + color: AppColor.colorContentEmail), + bgColor: AppColor.emailAddressChipColor, height: 30, - radius: 10, - onTap: () => controller.selectSignatureType(context, signatureType)); - } - - Widget _buildSignaturePlainTextTemplate(BuildContext context) { - if (BuildUtils.isWeb) { - return SizedBox( - height: 230, - child: (TextFieldBuilder() - ..key(const Key('signature_plain_text_editor')) - ..cursorColor(Colors.black) - ..addController(controller.signaturePlainEditorController) - ..textStyle(const TextStyle( - fontWeight: FontWeight.normal, - color: Colors.black, - fontSize: 16)) - ..maxLines(null)) - .build(), - ); - } else { - return(TextFieldBuilder() - ..key(const Key('signature_plain_text_editor')) - ..cursorColor(Colors.black) - ..addController(controller.signaturePlainEditorController) - ..textStyle(const TextStyle( - fontWeight: FontWeight.normal, - color: Colors.black, - fontSize: 16)) - ..minLines(12) - ..maxLines(null)) - .build(); - } + radius: 10); } Widget _buildSignatureHtmlTemplate(BuildContext context) { diff --git a/lib/features/identity_creator/presentation/model/signature_type.dart b/lib/features/identity_creator/presentation/model/signature_type.dart deleted file mode 100644 index c56fb0aca..000000000 --- a/lib/features/identity_creator/presentation/model/signature_type.dart +++ /dev/null @@ -1,20 +0,0 @@ - -import 'package:flutter/cupertino.dart'; -import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; - -enum SignatureType { - plainText, - htmlTemplate -} - -extension SignatureTypeExtension on SignatureType { - - String getTitle(BuildContext context) { - switch(this) { - case SignatureType.plainText: - return AppLocalizations.of(context).plain_text; - case SignatureType.htmlTemplate: - return AppLocalizations.of(context).html; - } - } -} \ No newline at end of file