TF-2046 Change navigate to page use popAndPushNamed instead of using pushReplacementNamed

(cherry picked from commit 8e8beccc25e7a6bd3199363cebc36efb74854740)
This commit is contained in:
dab246
2023-07-20 15:49:26 +07:00
committed by Dat Vu
parent aa0433aab9
commit 036d0db4ce
7 changed files with 14 additions and 10 deletions
@@ -116,7 +116,7 @@ class HomeController extends BaseController {
}
void _goToLogin({LoginArguments? arguments}) {
pushAndPop(AppRoutes.login, arguments: arguments);
popAndPush(AppRoutes.login, arguments: arguments);
}
@override
@@ -149,7 +149,7 @@ class HomeController extends BaseController {
authorizationIsolateInterceptors.setTokenAndAuthorityOidc(
newToken: storedTokenOidcSuccess.tokenOidc.toToken(),
newConfig: storedTokenOidcSuccess.oidcConfiguration);
pushAndPop(AppRoutes.session, arguments: _dynamicUrlInterceptors.baseUrl);
popAndPush(AppRoutes.session, arguments: _dynamicUrlInterceptors.baseUrl);
}
void _goToSessionWithBasicAuth(GetCredentialViewState credentialViewState) {
@@ -163,6 +163,6 @@ class HomeController extends BaseController {
credentialViewState.userName.value,
credentialViewState.password.value,
);
pushAndPop(AppRoutes.session, arguments: _dynamicUrlInterceptors.baseUrl);
popAndPush(AppRoutes.session, arguments: _dynamicUrlInterceptors.baseUrl);
}
}
@@ -302,7 +302,7 @@ class LoginController extends BaseController {
authorizationIsolateInterceptors.setTokenAndAuthorityOidc(
newToken: success.tokenOIDC.toToken(),
newConfig: success.configuration);
pushAndPop(AppRoutes.session, arguments: _dynamicUrlInterceptors.baseUrl);
popAndPush(AppRoutes.session, arguments: _dynamicUrlInterceptors.baseUrl);
}
void _loginAction({Uri? baseUrl, UserName? userName, Password? password}) {
@@ -318,7 +318,7 @@ class LoginController extends BaseController {
_dynamicUrlInterceptors.changeBaseUrl(_getBaseUrl().toString());
authorizationInterceptors.setBasicAuthorization(_userNameText, _passwordText);
authorizationIsolateInterceptors.setBasicAuthorization(_userNameText, _passwordText);
pushAndPop(AppRoutes.session, arguments: _dynamicUrlInterceptors.baseUrl);
popAndPush(AppRoutes.session, arguments: _dynamicUrlInterceptors.baseUrl);
}
void formatUrl(String url) {
@@ -435,7 +435,7 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
_clearNavigationRouter();
} else {
_clearNavigationRouter();
pushAndPop(AppRoutes.unknownRoutePage);
popAndPush(AppRoutes.unknownRoutePage);
}
}
@@ -214,7 +214,7 @@ class ManageAccountDashBoardController extends ReloadableController {
}
void goToSettings() {
pushAndPop(AppRoutes.settings,
popAndPush(AppRoutes.settings,
arguments: ManageAccountArguments(sessionCurrent));
}
@@ -83,7 +83,7 @@ class SessionController extends ReloadableController {
@override
void handleReloaded(Session session) {
pushAndPop(
popAndPush(
RouteUtils.generateNavigationRoute(AppRoutes.dashboard, NavigationRouter()),
arguments: session);
}
@@ -134,7 +134,7 @@ class SessionController extends ReloadableController {
log('SessionController::_goToMailboxDashBoard():apiUrl: $apiUrl');
if (apiUrl.isNotEmpty) {
_dynamicUrlInterceptors.changeBaseUrl(apiUrl);
pushAndPop(
popAndPush(
RouteUtils.generateNavigationRoute(AppRoutes.dashboard, NavigationRouter()),
arguments: session);
} else {
@@ -180,7 +180,7 @@ class ThreadController extends BaseController with EmailActionController {
} else if (failure is GetEmailByIdFailure) {
openingEmail.value = false;
_navigationRouter = null;
pushAndPop(AppRoutes.unknownRoutePage);
popAndPush(AppRoutes.unknownRoutePage);
}
}
+4
View File
@@ -10,6 +10,10 @@ Future<dynamic> pushAndPop(String routeName, {dynamic arguments}) async {
return Get.offNamed(routeName, arguments: arguments);
}
Future<dynamic> popAndPush(String routeName, {dynamic arguments}) async {
return Get.offAndToNamed(routeName, arguments: arguments);
}
Future<dynamic> pushAndPopAll(String routeName, {dynamic arguments}) async {
return Get.offAllNamed(routeName, arguments: arguments);
}