diff --git a/core/lib/presentation/utils/html_transformer/dom/add_target_blank_in_tag_a_transformers.dart b/core/lib/presentation/utils/html_transformer/dom/add_target_blank_in_tag_a_transformers.dart
new file mode 100644
index 000000000..d9454297d
--- /dev/null
+++ b/core/lib/presentation/utils/html_transformer/dom/add_target_blank_in_tag_a_transformers.dart
@@ -0,0 +1,19 @@
+import 'package:core/data/network/dio_client.dart';
+import 'package:core/presentation/utils/html_transformer/base/dom_transformer.dart';
+import 'package:html/dom.dart';
+
+class AddTargetBlankInTagATransformer extends DomTransformer {
+ const AddTargetBlankInTagATransformer();
+
+ @override
+ Future process(
+ Document document, {
+ Map? mapUrlDownloadCID,
+ DioClient? dioClient,
+ }) async {
+ final elements = document.querySelectorAll('a');
+ await Future.wait(elements.map((element) async {
+ element.attributes['target'] = '_blank';
+ }));
+ }
+}
diff --git a/core/lib/presentation/utils/html_transformer/message_content_transformer.dart b/core/lib/presentation/utils/html_transformer/message_content_transformer.dart
index 66755d4b6..3aaff3a75 100644
--- a/core/lib/presentation/utils/html_transformer/message_content_transformer.dart
+++ b/core/lib/presentation/utils/html_transformer/message_content_transformer.dart
@@ -16,7 +16,6 @@ class MessageContentTransformer {
DioClient? dioClient
}
) async {
- await _addTargetBlankInTagA(document);
await Future.wait([
if (configuration.domTransformers.isNotEmpty)
...configuration.domTransformers.map((domTransformer) async =>
@@ -27,13 +26,6 @@ class MessageContentTransformer {
]);
}
- Future _addTargetBlankInTagA(Document document) async {
- final elements = document.querySelectorAll('a');
- await Future.wait(elements.map((element) async {
- element.attributes['target'] = '_blank';
- }));
- }
-
Future toDocument(
String message,
{
diff --git a/core/lib/presentation/utils/html_transformer/transform_configuration.dart b/core/lib/presentation/utils/html_transformer/transform_configuration.dart
index 0df230abd..228cb2065 100644
--- a/core/lib/presentation/utils/html_transformer/transform_configuration.dart
+++ b/core/lib/presentation/utils/html_transformer/transform_configuration.dart
@@ -1,6 +1,7 @@
import 'package:core/presentation/utils/html_transformer/base/dom_transformer.dart';
import 'package:core/presentation/utils/html_transformer/base/text_transformer.dart';
+import 'package:core/presentation/utils/html_transformer/dom/add_target_blank_in_tag_a_transformers.dart';
import 'package:core/presentation/utils/html_transformer/dom/blockcode_transformers.dart';
import 'package:core/presentation/utils/html_transformer/dom/blockquoted_transformers.dart';
import 'package:core/presentation/utils/html_transformer/dom/image_transformers.dart';
@@ -54,6 +55,7 @@ class TransformConfiguration {
SignatureTransformer(),
BlockQuotedTransformer(),
BlockCodeTransformer(),
+ AddTargetBlankInTagATransformer(),
ImageTransformer(),
];