From 9c3f6a968484a2ef798447308a06dd4182077177 Mon Sep 17 00:00:00 2001 From: dab246 Date: Mon, 16 Jun 2025 04:16:37 +0700 Subject: [PATCH] TF-3759 Support display clean folder dialog in RTL mode Signed-off-by: dab246 --- .../widgets/empty_mailbox_dialog_overlay.dart | 3 ++- .../empty_mailbox_popup_dialog_widget.dart | 15 +++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/features/mailbox/presentation/widgets/empty_mailbox_dialog_overlay.dart b/lib/features/mailbox/presentation/widgets/empty_mailbox_dialog_overlay.dart index c5e59c658..961c2ef51 100644 --- a/lib/features/mailbox/presentation/widgets/empty_mailbox_dialog_overlay.dart +++ b/lib/features/mailbox/presentation/widgets/empty_mailbox_dialog_overlay.dart @@ -11,6 +11,7 @@ import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_node.d import 'package:tmail_ui_user/features/mailbox/presentation/styles/empty_mailbox_dialog_overlay_styles.dart'; import 'package:tmail_ui_user/features/mailbox/presentation/utils/mailbox_method_action_define.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; +import 'package:tmail_ui_user/main/utils/app_utils.dart'; class EmptyMailboxDialogOverlay extends StatelessWidget { @@ -33,7 +34,7 @@ class EmptyMailboxDialogOverlay extends StatelessWidget { return PointerInterceptor( child: PhysicalShape( clipBehavior: Clip.antiAlias, - clipper: SideArrowClipper(), + clipper: SideArrowClipper(isRight: AppUtils.isDirectionRTL(context)), color: EmptyMailboxDialogOverlayStyles.backgroundColor, shadowColor: EmptyMailboxDialogOverlayStyles.shadowColor, elevation: EmptyMailboxDialogOverlayStyles.elevation, diff --git a/lib/features/mailbox/presentation/widgets/empty_mailbox_popup_dialog_widget.dart b/lib/features/mailbox/presentation/widgets/empty_mailbox_popup_dialog_widget.dart index de193ca26..b747dd77a 100644 --- a/lib/features/mailbox/presentation/widgets/empty_mailbox_popup_dialog_widget.dart +++ b/lib/features/mailbox/presentation/widgets/empty_mailbox_popup_dialog_widget.dart @@ -7,6 +7,7 @@ import 'package:tmail_ui_user/features/mailbox/presentation/styles/empty_mailbox import 'package:tmail_ui_user/features/mailbox/presentation/utils/mailbox_method_action_define.dart'; import 'package:tmail_ui_user/features/mailbox/presentation/widgets/empty_mailbox_dialog_overlay.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; +import 'package:tmail_ui_user/main/utils/app_utils.dart'; typedef OnPopupVisibleChange = void Function(bool visible); @@ -47,9 +48,13 @@ class _EmptyMailboxPopupDialogWidgetState extends State _setVisible(false), ), child: PortalTarget( - anchor: const Aligned( - follower: Alignment.bottomLeft, - target: Alignment.topRight, + anchor: Aligned( + follower: AppUtils.isDirectionRTL(context) + ? Alignment.bottomRight + : Alignment.bottomLeft, + target: AppUtils.isDirectionRTL(context) + ? Alignment.topLeft + : Alignment.topRight, offset: EmptyMailboxPopupDialogWidgetStyles.dialogOverlayOffset ), portalFollower: EmptyMailboxDialogOverlay( @@ -66,7 +71,9 @@ class _EmptyMailboxPopupDialogWidgetState extends State _setVisible(true), )