TF-2387 Navigate to TwakeWelcome page when click back button on login view
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import 'package:core/presentation/extensions/url_extension.dart';
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:core/presentation/utils/keyboard_utils.dart';
|
||||
import 'package:core/utils/app_logger.dart';
|
||||
import 'package:core/utils/platform_info.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
@@ -254,20 +255,30 @@ class LoginController extends ReloadableController {
|
||||
));
|
||||
}
|
||||
|
||||
void handleBackButtonAction() {
|
||||
void handleBackButtonAction(BuildContext context) {
|
||||
KeyboardUtils.hideKeyboard(context);
|
||||
clearState();
|
||||
if (loginFormType.value == LoginFormType.credentialForm) {
|
||||
_password = null;
|
||||
_username = null;
|
||||
usernameInputController.clear();
|
||||
passwordInputController.clear();
|
||||
loginFormType.value = LoginFormType.baseUrlForm;
|
||||
} else if (loginFormType.value == LoginFormType.passwordForm) {
|
||||
_password = null;
|
||||
_baseUri = null;
|
||||
urlInputController.clear();
|
||||
passwordInputController.clear();
|
||||
loginFormType.value = LoginFormType.dnsLookupForm;
|
||||
switch(loginFormType.value) {
|
||||
case LoginFormType.dnsLookupForm:
|
||||
case LoginFormType.baseUrlForm:
|
||||
navigateToTwakeWelcomePage();
|
||||
break;
|
||||
case LoginFormType.passwordForm:
|
||||
_password = null;
|
||||
_baseUri = null;
|
||||
urlInputController.clear();
|
||||
passwordInputController.clear();
|
||||
loginFormType.value = LoginFormType.dnsLookupForm;
|
||||
break;
|
||||
case LoginFormType.credentialForm:
|
||||
_password = null;
|
||||
_username = null;
|
||||
usernameInputController.clear();
|
||||
passwordInputController.clear();
|
||||
loginFormType.value = LoginFormType.baseUrlForm;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -277,7 +288,8 @@ class LoginController extends ReloadableController {
|
||||
userNameFocusNode.requestFocus();
|
||||
}
|
||||
|
||||
void handleLoginPressed() {
|
||||
void handleLoginPressed(BuildContext context) {
|
||||
KeyboardUtils.hideKeyboard(context);
|
||||
log('LoginController::handleLoginPressed:_currentBaseUrl: $_currentBaseUrl | _username: $_username | _password: $_password');
|
||||
if (_currentBaseUrl == null) {
|
||||
consumeState(Stream.value(Left(AuthenticationUserFailure(CanNotFoundBaseUrl()))));
|
||||
@@ -503,6 +515,11 @@ class LoginController extends ReloadableController {
|
||||
passwordInputController.clear();
|
||||
}
|
||||
|
||||
bool get isBackButtonActivated =>
|
||||
loginFormType.value == LoginFormType.dnsLookupForm ||
|
||||
loginFormType.value == LoginFormType.passwordForm ||
|
||||
loginFormType.value == LoginFormType.credentialForm;
|
||||
|
||||
@override
|
||||
void onClose() {
|
||||
passFocusNode.dispose();
|
||||
|
||||
Reference in New Issue
Block a user