TF-3759 Support display clean folder dialog in RTL mode

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-06-16 04:16:37 +07:00
committed by Dat H. Pham
parent aeaea7b8b2
commit 9c3f6a9684
2 changed files with 13 additions and 5 deletions
@@ -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,
@@ -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<EmptyMailboxPopupDialogW
onTap: () => _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<EmptyMailboxPopupDialogW
textStyle: Theme.of(context).textTheme.bodySmall?.copyWith(
color: AppColor.steelGrayA540,
),
backgroundColor: Colors.transparent,
backgroundColor: _visible
? Theme.of(context).colorScheme.outline.withOpacity(0.08)
: Colors.transparent,
padding: EmptyMailboxPopupDialogWidgetStyles.emptyButtonPadding,
onTapActionCallback: () => _setVisible(true),
)