TF-4152 Fix tooltip stay out of screen in Email View

This commit is contained in:
dab246
2025-11-18 10:15:51 +07:00
committed by Dat H. Pham
parent 9ecf42989d
commit aba3cbbe4c
12 changed files with 291 additions and 93 deletions
@@ -1,7 +1,9 @@
import 'package:core/presentation/constants/constants_ui.dart';
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:core/presentation/views/html_viewer/html_content_viewer_on_web_widget.dart';
import 'package:core/presentation/views/html_viewer/html_content_viewer_widget.dart';
import 'package:core/presentation/views/tooltip/iframe_tooltip_overlay.dart';
import 'package:core/utils/platform_info.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -367,6 +369,11 @@ class EmailView extends GetWidget<SingleEmailController> {
fontSize: isMobileResponsive ? 16 : 14,
onIFrameKeyboardShortcutAction: onIFrameKeyboardShortcutAction,
onIFrameClickAction: controller.handleOnIFrameClick,
iframeTooltipOptions: IframeTooltipOptions(
tooltipTextStyle: ThemeUtils.textStyleInter400.copyWith(
color: Colors.white,
),
),
),
);
} else if (PlatformInfo.isIOS) {
@@ -1,8 +1,10 @@
import 'package:core/presentation/constants/constants_ui.dart';
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:core/presentation/views/html_viewer/html_content_viewer_on_web_widget.dart';
import 'package:core/presentation/views/html_viewer/html_content_viewer_widget.dart';
import 'package:core/presentation/views/tooltip/iframe_tooltip_overlay.dart';
import 'package:core/utils/platform_info.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
@@ -58,6 +60,11 @@ class EventBodyContentWidget extends StatelessWidget {
direction: AppUtils.getCurrentDirection(context),
scrollController: scrollController,
onIFrameClickAction: onIFrameClickAction,
iframeTooltipOptions: IframeTooltipOptions(
tooltipTextStyle: ThemeUtils.textStyleInter400.copyWith(
color: Colors.white,
),
),
);
})
)
@@ -1,6 +1,8 @@
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:core/presentation/views/html_viewer/html_content_viewer_on_web_widget.dart';
import 'package:core/presentation/views/loading/cupertino_loading_widget.dart';
import 'package:core/presentation/views/tooltip/iframe_tooltip_overlay.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/download/domain/state/get_preview_email_eml_content_shared_state.dart';
@@ -61,6 +63,11 @@ class EmailPreviewerView extends GetWidget<EmailPreviewerController> {
useDefaultFontStyle: true,
direction: AppUtils.getCurrentDirection(context),
onClickHyperLinkAction: controller.onClickHyperLink,
iframeTooltipOptions: IframeTooltipOptions(
tooltipTextStyle: ThemeUtils.textStyleInter400.copyWith(
color: Colors.white,
),
),
);
}
}
@@ -1,5 +1,7 @@
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:core/presentation/views/html_viewer/html_content_viewer_on_web_widget.dart';
import 'package:core/presentation/views/html_viewer/html_content_viewer_widget.dart';
import 'package:core/presentation/views/tooltip/iframe_tooltip_overlay.dart';
import 'package:core/utils/platform_info.dart';
import 'package:flutter/material.dart';
import 'package:get/state_manager.dart';
@@ -55,6 +57,11 @@ class SignatureBuilder extends StatelessWidget {
keepAlive: true,
disableScrolling: true,
autoAdjustHeight: true,
iframeTooltipOptions: IframeTooltipOptions(
tooltipTextStyle: ThemeUtils.textStyleInter400.copyWith(
color: Colors.white,
),
),
);
return Stack(