diff --git a/core/lib/presentation/extensions/html_extension.dart b/core/lib/presentation/extensions/html_extension.dart
index 92f655d38..266eb9cc6 100644
--- a/core/lib/presentation/extensions/html_extension.dart
+++ b/core/lib/presentation/extensions/html_extension.dart
@@ -1,6 +1,8 @@
extension HtmlExtension on String {
+ static const String editorStartTags = '
';
+
String removeFontSizeZeroPixel() => replaceAll(RegExp('font-size:0px;'), '');
String removeHeightZeroPixel() => replaceAll(RegExp('height:0px;'), '');
@@ -38,11 +40,10 @@ extension HtmlExtension on String {
String toSignatureBlock() =>
'
${asSignatureHtml()}
';
- String removeEditorDefaultSpace() {
- return replaceAll('
', '');
+ String removeEditorStartTag() {
+ if (trim() == editorStartTags) {
+ return '';
+ }
+ return this;
}
-
- String addEditorDefaultSpace() {
- return '
';
- }
-}
+}
\ No newline at end of file
diff --git a/model/lib/email/email_content.dart b/model/lib/email/email_content.dart
index b146bf58a..7afd10a26 100644
--- a/model/lib/email/email_content.dart
+++ b/model/lib/email/email_content.dart
@@ -1,10 +1,13 @@
+import 'package:core/utils/app_logger.dart';
import 'package:equatable/equatable.dart';
import 'package:model/email/email_content_type.dart';
import 'package:model/model.dart';
class EmailContent with EquatableMixin {
+ static const defaultHtmlTagsWrapContent = '';
+
final String content;
final EmailContentType type;
@@ -23,6 +26,31 @@ extension EmailContentExtension on EmailContent {
.replaceAll('\n', '
')
.replaceAll('\n\n', '
');
}
+ final newContent = _getContentOriginal(content);
+ return newContent;
+ }
+
+ String _getContentOriginal(String content) {
+ if (content == EmailContent.defaultHtmlTagsWrapContent ||
+ content.trim().isEmpty) {
+ return '';
+ }
+
+ final firstTags = '';
+ final latestTags = '';
+ if (content.startsWith(firstTags) && content.endsWith(latestTags)) {
+ final firstIndex = firstTags.length;
+ final latestIndex = content.length - latestTags.length;
+ log('EmailContentExtension::_getContentOriginal(): firstIndex: $firstIndex');
+ log('EmailContentExtension::_getContentOriginal(): latestIndex: $latestIndex');
+
+ if (latestIndex > firstIndex) {
+ final contentOriginal = content.substring(firstIndex, latestIndex);
+ log('EmailContentExtension::_getContentOriginal(): contentOriginal: $contentOriginal');
+ return contentOriginal;
+ }
+ }
+
return content;
}
}
\ No newline at end of file