diff --git a/lib/features/composer/presentation/view/mobile/mobile_container_view.dart b/lib/features/composer/presentation/view/mobile/mobile_container_view.dart index 3975a6558..08d60bb2e 100644 --- a/lib/features/composer/presentation/view/mobile/mobile_container_view.dart +++ b/lib/features/composer/presentation/view/mobile/mobile_container_view.dart @@ -34,11 +34,9 @@ class MobileContainerView extends StatelessWidget { @override Widget build(BuildContext context) { - return WillPopScope( - onWillPop: () async { - onCloseViewAction.call(); - return false; - }, + return PopScope( + onPopInvoked: (didPop) => !didPop ? onCloseViewAction : null, + canPop: false, child: GestureDetector( onTap: onClearFocusAction, child: Scaffold( diff --git a/lib/features/composer/presentation/view/mobile/tablet_container_view.dart b/lib/features/composer/presentation/view/mobile/tablet_container_view.dart index b2db0dd26..d09961713 100644 --- a/lib/features/composer/presentation/view/mobile/tablet_container_view.dart +++ b/lib/features/composer/presentation/view/mobile/tablet_container_view.dart @@ -31,11 +31,9 @@ class TabletContainerView extends StatelessWidget { @override Widget build(BuildContext context) { - return WillPopScope( - onWillPop: () async { - onCloseViewAction.call(); - return false; - }, + return PopScope( + onPopInvoked: (didPop) => !didPop ? onCloseViewAction : null, + canPop: false, child: GestureDetector( onTap: onClearFocusAction, child: Scaffold( diff --git a/lib/features/thread/presentation/thread_controller.dart b/lib/features/thread/presentation/thread_controller.dart index 956dfe27a..6e4ffdad3 100644 --- a/lib/features/thread/presentation/thread_controller.dart +++ b/lib/features/thread/presentation/thread_controller.dart @@ -1199,6 +1199,18 @@ class ThreadController extends BaseController with EmailActionController { return DismissDirection.startToEnd; } + bool get inboxMailboxSelected => mailboxDashBoardController.selectedMailbox.value?.isInbox == true; + + bool get systemBackGesturesEnable => inboxMailboxSelected && !mailboxDashBoardController.isDrawerOpen; + + void backButtonPressedCallbackAction(BuildContext context) { + if (mailboxDashBoardController.isDrawerOpen) { + mailboxDashBoardController.closeMailboxMenuDrawer(); + } else { + mailboxDashBoardController.openDefaultMailbox(); + } + } + void scrollToTop() { if (listEmailController.hasClients) { listEmailController.animateTo(0, duration: const Duration(milliseconds: 500), curve: Curves.fastOutSlowIn);