diff --git a/lib/features/login/presentation/base_login_view.dart b/lib/features/login/presentation/base_login_view.dart index 9d3851ff42..e34feda7ef 100644 --- a/lib/features/login/presentation/base_login_view.dart +++ b/lib/features/login/presentation/base_login_view.dart @@ -30,8 +30,6 @@ abstract class BaseLoginView extends GetWidget { final responsiveUtils = Get.find(); final imagePaths = Get.find(); - final FocusNode passFocusNode = FocusNode(); - Widget buildLoginMessage(BuildContext context, Either viewState) { return Padding( padding: const EdgeInsets.only(top: 11, bottom: 36, left: 58, right: 58), @@ -146,7 +144,7 @@ abstract class BaseLoginView extends GetWidget { itemBuilder: (context, loginUsername) => RecentItemTileWidget(loginUsername, imagePath: imagePaths), onSuggestionSelected: (recentUsername) { controller.setUsername(recentUsername.username); - passFocusNode.requestFocus(); + controller.passFocusNode.requestFocus(); }, suggestionsBoxDecoration: const SuggestionsBoxDecoration(borderRadius: BorderRadius.all(Radius.circular(14))), noItemsFoundBuilder: (context) => const SizedBox(), @@ -174,7 +172,7 @@ abstract class BaseLoginView extends GetWidget { ..onChange(controller.setPasswordText) ..textInputAction(TextInputAction.done) ..hintText(AppLocalizations.of(context).password) - ..setFocusNode(passFocusNode)) + ..setFocusNode(controller.passFocusNode)) .build())); } diff --git a/lib/features/login/presentation/login_controller.dart b/lib/features/login/presentation/login_controller.dart index 747e665513..069424142b 100644 --- a/lib/features/login/presentation/login_controller.dart +++ b/lib/features/login/presentation/login_controller.dart @@ -70,6 +70,7 @@ class LoginController extends BaseController { final TextEditingController urlInputController = TextEditingController(); final TextEditingController usernameInputController = TextEditingController(); + final FocusNode passFocusNode = FocusNode(); LoginController( this._authenticationInteractor, @@ -378,6 +379,7 @@ class LoginController extends BaseController { @override void onClose() { + passFocusNode.dispose(); urlInputController.dispose(); usernameInputController.dispose(); super.onClose();