From db7f3ae4d8e7db969ccab67cf1dd0822d3199ae1 Mon Sep 17 00:00:00 2001 From: dab246 Date: Tue, 20 May 2025 16:55:16 +0700 Subject: [PATCH] Fix cannot use Back system button to back to email list from search view on mobile Signed-off-by: dab246 --- .../email/presentation/search_email_view.dart | 43 +++++++++++-------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/lib/features/search/email/presentation/search_email_view.dart b/lib/features/search/email/presentation/search_email_view.dart index 08b5c4c41..74aef5b8d 100644 --- a/lib/features/search/email/presentation/search_email_view.dart +++ b/lib/features/search/email/presentation/search_email_view.dart @@ -60,24 +60,31 @@ class SearchEmailView extends GetWidget child: Container( color: Colors.white, child: Column(children: [ - Container( - height: 52, - color: Colors.white, - padding: SearchEmailViewStyle.getAppBarPadding( - context, - controller.responsiveUtils - ), - child: Obx(() { - if (controller.selectionMode.value == SelectMode.ACTIVE) { - return AppBarSelectionMode( - controller.listResultSearch.listEmailSelected, - controller.mailboxDashBoardController.mapMailboxById, - onCancelSelection: controller.cancelSelectionMode, - onHandleEmailAction: controller.handleSelectionEmailAction); - } else { - return _buildSearchInputForm(context); - } - }) + PopScope( + canPop: false, + onPopInvokedWithResult: (_, __) { + if (!PlatformInfo.isAndroid) return; + controller.closeSearchView(context: context); + }, + child: Container( + height: 52, + color: Colors.white, + padding: SearchEmailViewStyle.getAppBarPadding( + context, + controller.responsiveUtils + ), + child: Obx(() { + if (controller.selectionMode.value == SelectMode.ACTIVE) { + return AppBarSelectionMode( + controller.listResultSearch.listEmailSelected, + controller.mailboxDashBoardController.mapMailboxById, + onCancelSelection: controller.cancelSelectionMode, + onHandleEmailAction: controller.handleSelectionEmailAction); + } else { + return _buildSearchInputForm(context); + } + }) + ), ), const Divider(color: AppColor.colorDividerComposer, height: 1), _buildListSearchFilterAction(context),