TF-297 Fix can not back mailbox dashboard when reload page manage account

This commit is contained in:
dab246
2022-07-08 15:24:01 +07:00
committed by Dat H. Pham
parent 915498a890
commit 8a3c9f5e67
5 changed files with 17 additions and 7 deletions
@@ -114,10 +114,15 @@ class ManageAccountDashBoardController extends ReloadableController {
arguments: ManageAccountArguments(sessionCurrent));
}
void backToMailboxDashBoard() {
if (currentContext != null && !_responsiveUtils.isDesktop(currentContext!)) {
void backToMailboxDashBoard(BuildContext context) {
if (!_responsiveUtils.isDesktop(context)) {
closeMenuDrawer();
}
popBack();
if (canBack(context)) {
popBack();
} else {
log('ManageAccountDashBoardController::backToMailboxDashBoard(): canBack: FALSE');
pushAndPopAll(AppRoutes.MAILBOX_DASHBOARD, arguments: sessionCurrent);
}
}
}
@@ -49,7 +49,7 @@ class ManageAccountDashBoardView extends GetWidget<ManageAccountDashBoardControl
..setSloganTextAlign(TextAlign.center)
..setSloganTextStyle(const TextStyle(color: Colors.black, fontSize: 20, fontWeight: FontWeight.bold))
..setSizeLogo(24)
..addOnTapCallback(() => controller.backToMailboxDashBoard())
..addOnTapCallback(() => controller.backToMailboxDashBoard(context))
..setLogo(_imagePaths.icLogoTMail))
.build(),
Obx(() {
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/base_controller.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/manage_account_dashboard_controller.dart';
@@ -25,7 +26,7 @@ class ManageAccountMenuController extends BaseController {
dashBoardController.selectAccountMenuItem(newAccountMenuItem);
}
void backToMailboxDashBoard() {
dashBoardController.backToMailboxDashBoard();
void backToMailboxDashBoard(BuildContext context) {
dashBoardController.backToMailboxDashBoard(context);
}
}
@@ -68,7 +68,7 @@ class ManageAccountMenuView extends GetWidget<ManageAccountMenuController> {
..radiusSplash(10)
..padding(const EdgeInsets.symmetric(vertical: 10))
..textStyle(const TextStyle(fontSize: 15, color: AppColor.colorTextButton, fontWeight: FontWeight.normal))
..onPressActionClick(() => controller.backToMailboxDashBoard())
..onPressActionClick(() => controller.backToMailboxDashBoard(context))
..text(AppLocalizations.of(context).back, isVertical: false))
.build()),
Padding(
+4
View File
@@ -18,6 +18,10 @@ void popBack({dynamic result}) {
Get.back(result: result);
}
bool canBack(BuildContext context) {
return Navigator.of(context).canPop();
}
BuildContext? get currentContext => Get.context;
BuildContext? get currentOverlayContext => Get.overlayContext;