diff --git a/core/lib/core.dart b/core/lib/core.dart index 048775c12..5ecd4da86 100644 --- a/core/lib/core.dart +++ b/core/lib/core.dart @@ -33,6 +33,7 @@ export 'presentation/utils/style_utils.dart'; export 'presentation/utils/app_toast.dart'; export 'presentation/utils/html_transformer/html_transform.dart'; export 'presentation/utils/html_transformer/transform_configuration.dart'; +export 'presentation/utils/html_transformer/text/persist_preformatted_text_transformer.dart'; export 'data/utils/device_manager.dart'; export 'utils/app_logger.dart'; export 'utils/benchmark.dart'; diff --git a/core/lib/presentation/utils/html_transformer/text/persist_preformatted_text_transformer.dart b/core/lib/presentation/utils/html_transformer/text/persist_preformatted_text_transformer.dart new file mode 100644 index 000000000..a6b8d2cf1 --- /dev/null +++ b/core/lib/presentation/utils/html_transformer/text/persist_preformatted_text_transformer.dart @@ -0,0 +1,12 @@ +import 'dart:convert'; + +import 'package:core/presentation/utils/html_transformer/base/text_transformer.dart'; + +class PersistPreformattedTextTransformer extends TextTransformer { + const PersistPreformattedTextTransformer(); + + @override + String process(String text, HtmlEscape htmlEscape) { + return '
$text
'; + } +} \ No newline at end of file diff --git a/lib/features/email/data/local/html_analyzer.dart b/lib/features/email/data/local/html_analyzer.dart index 5137e38ea..97ab0d843 100644 --- a/lib/features/email/data/local/html_analyzer.dart +++ b/lib/features/email/data/local/html_analyzer.dart @@ -1,6 +1,7 @@ import 'package:collection/collection.dart'; import 'package:core/data/constants/constant.dart'; import 'package:core/presentation/utils/html_transformer/html_transform.dart'; +import 'package:core/presentation/utils/html_transformer/text/persist_preformatted_text_transformer.dart'; import 'package:core/presentation/utils/html_transformer/text/sanitize_autolink_html_transformers.dart'; import 'package:core/presentation/utils/html_transformer/transform_configuration.dart'; import 'package:core/utils/app_logger.dart'; @@ -37,7 +38,8 @@ class HtmlAnalyzer { final message = _htmlTransform.transformToTextPlain( content: emailContent.content, transformConfiguration: TransformConfiguration.fromTextTransformers([ - const SanitizeAutolinkHtmlTransformers() + const SanitizeAutolinkHtmlTransformers(), + const PersistPreformattedTextTransformer(), ]), ); return EmailContent(emailContent.type, message);