TF-3349 Escape messages when forward and reply email

This commit is contained in:
dab246
2024-12-16 15:39:33 +07:00
committed by Dat H. Pham
parent e859d977ee
commit 490196b36f
10 changed files with 196 additions and 24 deletions
@@ -5,16 +5,19 @@ import 'package:flutter/material.dart';
import 'package:model/email/email_action_type.dart';
import 'package:model/email/presentation_email.dart';
import 'package:tmail_ui_user/features/composer/presentation/extensions/email_action_type_extension.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
mixin EditorViewMixin {
String getEmailContentQuotedAsHtml({
required BuildContext context,
required Locale locale,
required AppLocalizations appLocalizations,
required String emailContent,
required EmailActionType emailActionType,
required PresentationEmail presentationEmail,
}) {
final headerEmailQuoted = emailActionType.getHeaderEmailQuoted(
context: context,
locale: locale,
appLocalizations: appLocalizations,
presentationEmail: presentationEmail
);
log('EditorViewMixin::getEmailContentQuotedAsHtml:headerEmailQuoted: $headerEmailQuoted');
@@ -10,6 +10,7 @@ import 'package:tmail_ui_user/features/composer/presentation/widgets/mobile/mobi
import 'package:tmail_ui_user/features/email/domain/state/get_email_content_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/transform_html_email_content_state.dart';
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/utils/app_utils.dart';
class MobileEditorView extends StatelessWidget with EditorViewMixin {
@@ -87,7 +88,8 @@ class MobileEditorView extends StatelessWidget with EditorViewMixin {
return contentViewState!.fold(
(failure) {
final emailContentQuoted = getEmailContentQuotedAsHtml(
context: context,
locale: Localizations.localeOf(context),
appLocalizations: AppLocalizations.of(context),
emailContent: '',
emailActionType: arguments!.emailActionType,
presentationEmail: arguments!.presentationEmail!
@@ -104,7 +106,8 @@ class MobileEditorView extends StatelessWidget with EditorViewMixin {
return const CupertinoLoadingWidget(padding: EdgeInsets.all(16.0));
} else {
final emailContentQuoted = getEmailContentQuotedAsHtml(
context: context,
locale: Localizations.localeOf(context),
appLocalizations: AppLocalizations.of(context),
emailContent: success is TransformHtmlEmailContentSuccess
? success.htmlContent
: '',
@@ -13,6 +13,7 @@ import 'package:tmail_ui_user/features/composer/presentation/widgets/web/web_edi
import 'package:tmail_ui_user/features/email/domain/state/get_email_content_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/transform_html_email_content_state.dart';
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/utils/app_utils.dart';
class WebEditorView extends StatelessWidget with EditorViewMixin {
@@ -152,7 +153,8 @@ class WebEditorView extends StatelessWidget with EditorViewMixin {
return contentViewState!.fold(
(failure) {
final emailContentQuoted = getEmailContentQuotedAsHtml(
context: context,
locale: Localizations.localeOf(context),
appLocalizations: AppLocalizations.of(context),
emailContent: '',
emailActionType: arguments!.emailActionType,
presentationEmail: arguments!.presentationEmail!
@@ -181,7 +183,8 @@ class WebEditorView extends StatelessWidget with EditorViewMixin {
return const CupertinoLoadingWidget(padding: EdgeInsets.all(16.0));
} else {
final emailContentQuoted = getEmailContentQuotedAsHtml(
context: context,
locale: Localizations.localeOf(context),
appLocalizations: AppLocalizations.of(context),
emailContent: success is TransformHtmlEmailContentSuccess
? success.htmlContent
: '',