diff --git a/core/lib/presentation/utils/html_transformer/dom/remove_lazy_loading_for_background_image_transformers.dart b/core/lib/presentation/utils/html_transformer/dom/remove_lazy_loading_for_background_image_transformers.dart
new file mode 100644
index 000000000..3a397b960
--- /dev/null
+++ b/core/lib/presentation/utils/html_transformer/dom/remove_lazy_loading_for_background_image_transformers.dart
@@ -0,0 +1,32 @@
+import 'package:core/data/network/dio_client.dart';
+import 'package:core/presentation/utils/html_transformer/base/dom_transformer.dart';
+import 'package:core/utils/app_logger.dart';
+import 'package:html/dom.dart';
+
+class RemoveLazyLoadingForBackgroundImageTransformer extends DomTransformer {
+ const RemoveLazyLoadingForBackgroundImageTransformer();
+
+ @override
+ Future process({
+ required Document document,
+ required DioClient dioClient,
+ Map? mapUrlDownloadCID,
+ }) async {
+ final elements = document.querySelectorAll('[lazy]');
+ log('RemoveLazyLoadingForBackgroundImageTransformer::process:elements: ${elements.length}');
+ await Future.wait(elements.map((element) async {
+ var exStyle = element.attributes['style'];
+ final dataSrc = element.attributes['data-src'];
+ final backgroundImgUrl = 'background-image:url($dataSrc);';
+ if (exStyle != null) {
+ exStyle = '$exStyle;$backgroundImgUrl';
+ element.attributes['style'] = exStyle;
+ } else {
+ element.attributes['style'] = backgroundImgUrl;
+ }
+ element.attributes.remove('data-src');
+ element.attributes.remove('lazy');
+ log('RemoveLazyLoadingForBackgroundImageTransformer::process:NEW_ELEMENT: ${element.outerHtml}');
+ }));
+ }
+}
diff --git a/core/lib/presentation/utils/html_transformer/transform_configuration.dart b/core/lib/presentation/utils/html_transformer/transform_configuration.dart
index 12295c42b..2c61271b6 100644
--- a/core/lib/presentation/utils/html_transformer/transform_configuration.dart
+++ b/core/lib/presentation/utils/html_transformer/transform_configuration.dart
@@ -7,6 +7,7 @@ import 'package:core/presentation/utils/html_transformer/dom/add_tooltip_link_tr
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';
+import 'package:core/presentation/utils/html_transformer/dom/remove_lazy_loading_for_background_image_transformers.dart';
import 'package:core/presentation/utils/html_transformer/dom/remove_tooltip_link_transformers.dart';
import 'package:core/presentation/utils/html_transformer/dom/script_transformers.dart';
import 'package:core/presentation/utils/html_transformer/dom/sigature_transformers.dart';
@@ -38,6 +39,7 @@ class TransformConfiguration {
if (PlatformInfo.isWeb)
const RemoveTooltipLinkTransformer(),
const SignatureTransformer(),
+ const RemoveLazyLoadingForBackgroundImageTransformer(),
]);
factory TransformConfiguration.forDraftsEmail() => TransformConfiguration.empty();
diff --git a/lib/features/composer/presentation/composer_controller.dart b/lib/features/composer/presentation/composer_controller.dart
index 359060e5e..053bec7d5 100644
--- a/lib/features/composer/presentation/composer_controller.dart
+++ b/lib/features/composer/presentation/composer_controller.dart
@@ -1418,7 +1418,7 @@ class ComposerController extends BaseController {
accountId,
emailId,
mailboxDashBoardController.baseDownloadUrl,
- TransformConfiguration.empty()
+ TransformConfiguration.forDraftsEmail()
));
}
}