TF-3759 Support display clean folder dialog in RTL mode
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -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/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/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/localizations/app_localizations.dart';
|
||||||
|
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
||||||
|
|
||||||
class EmptyMailboxDialogOverlay extends StatelessWidget {
|
class EmptyMailboxDialogOverlay extends StatelessWidget {
|
||||||
|
|
||||||
@@ -33,7 +34,7 @@ class EmptyMailboxDialogOverlay extends StatelessWidget {
|
|||||||
return PointerInterceptor(
|
return PointerInterceptor(
|
||||||
child: PhysicalShape(
|
child: PhysicalShape(
|
||||||
clipBehavior: Clip.antiAlias,
|
clipBehavior: Clip.antiAlias,
|
||||||
clipper: SideArrowClipper(),
|
clipper: SideArrowClipper(isRight: AppUtils.isDirectionRTL(context)),
|
||||||
color: EmptyMailboxDialogOverlayStyles.backgroundColor,
|
color: EmptyMailboxDialogOverlayStyles.backgroundColor,
|
||||||
shadowColor: EmptyMailboxDialogOverlayStyles.shadowColor,
|
shadowColor: EmptyMailboxDialogOverlayStyles.shadowColor,
|
||||||
elevation: EmptyMailboxDialogOverlayStyles.elevation,
|
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/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/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/localizations/app_localizations.dart';
|
||||||
|
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
||||||
|
|
||||||
typedef OnPopupVisibleChange = void Function(bool visible);
|
typedef OnPopupVisibleChange = void Function(bool visible);
|
||||||
|
|
||||||
@@ -47,9 +48,13 @@ class _EmptyMailboxPopupDialogWidgetState extends State<EmptyMailboxPopupDialogW
|
|||||||
onTap: () => _setVisible(false),
|
onTap: () => _setVisible(false),
|
||||||
),
|
),
|
||||||
child: PortalTarget(
|
child: PortalTarget(
|
||||||
anchor: const Aligned(
|
anchor: Aligned(
|
||||||
follower: Alignment.bottomLeft,
|
follower: AppUtils.isDirectionRTL(context)
|
||||||
target: Alignment.topRight,
|
? Alignment.bottomRight
|
||||||
|
: Alignment.bottomLeft,
|
||||||
|
target: AppUtils.isDirectionRTL(context)
|
||||||
|
? Alignment.topLeft
|
||||||
|
: Alignment.topRight,
|
||||||
offset: EmptyMailboxPopupDialogWidgetStyles.dialogOverlayOffset
|
offset: EmptyMailboxPopupDialogWidgetStyles.dialogOverlayOffset
|
||||||
),
|
),
|
||||||
portalFollower: EmptyMailboxDialogOverlay(
|
portalFollower: EmptyMailboxDialogOverlay(
|
||||||
@@ -66,7 +71,9 @@ class _EmptyMailboxPopupDialogWidgetState extends State<EmptyMailboxPopupDialogW
|
|||||||
textStyle: Theme.of(context).textTheme.bodySmall?.copyWith(
|
textStyle: Theme.of(context).textTheme.bodySmall?.copyWith(
|
||||||
color: AppColor.steelGrayA540,
|
color: AppColor.steelGrayA540,
|
||||||
),
|
),
|
||||||
backgroundColor: Colors.transparent,
|
backgroundColor: _visible
|
||||||
|
? Theme.of(context).colorScheme.outline.withOpacity(0.08)
|
||||||
|
: Colors.transparent,
|
||||||
padding: EmptyMailboxPopupDialogWidgetStyles.emptyButtonPadding,
|
padding: EmptyMailboxPopupDialogWidgetStyles.emptyButtonPadding,
|
||||||
onTapActionCallback: () => _setVisible(true),
|
onTapActionCallback: () => _setVisible(true),
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user