From faac7ebe5e215bdb76b0b4b67a0403e7abefdae1 Mon Sep 17 00:00:00 2001 From: Jake Fink Date: Fri, 8 Oct 2021 12:09:08 -0400 Subject: [PATCH] Set cursor position after toggle password visibility (#1568) - Lock page - Login page - Register page --- src/App/Pages/Accounts/LockPageViewModel.cs | 1 + src/App/Pages/Accounts/LoginPageViewModel.cs | 4 +++- src/App/Pages/Accounts/RegisterPageViewModel.cs | 8 ++++++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/App/Pages/Accounts/LockPageViewModel.cs b/src/App/Pages/Accounts/LockPageViewModel.cs index 69225e471..d2808268d 100644 --- a/src/App/Pages/Accounts/LockPageViewModel.cs +++ b/src/App/Pages/Accounts/LockPageViewModel.cs @@ -318,6 +318,7 @@ namespace Bit.App.Pages var page = (Page as LockPage); var entry = PinLock ? page.PinEntry : page.MasterPasswordEntry; entry.Focus(); + entry.CursorPosition = PinLock ? Pin.Length : MasterPassword.Length; } public async Task PromptBiometricAsync() diff --git a/src/App/Pages/Accounts/LoginPageViewModel.cs b/src/App/Pages/Accounts/LoginPageViewModel.cs index 2090af196..faea28307 100644 --- a/src/App/Pages/Accounts/LoginPageViewModel.cs +++ b/src/App/Pages/Accounts/LoginPageViewModel.cs @@ -185,7 +185,9 @@ namespace Bit.App.Pages public void TogglePassword() { ShowPassword = !ShowPassword; - (Page as LoginPage).MasterPasswordEntry.Focus(); + var entry = (Page as LoginPage).MasterPasswordEntry; + entry.Focus(); + entry.CursorPosition = MasterPassword.Length; } } } diff --git a/src/App/Pages/Accounts/RegisterPageViewModel.cs b/src/App/Pages/Accounts/RegisterPageViewModel.cs index b1174a867..8886afa6d 100644 --- a/src/App/Pages/Accounts/RegisterPageViewModel.cs +++ b/src/App/Pages/Accounts/RegisterPageViewModel.cs @@ -201,13 +201,17 @@ namespace Bit.App.Pages public void TogglePassword() { ShowPassword = !ShowPassword; - (Page as RegisterPage).MasterPasswordEntry.Focus(); + var entry = (Page as RegisterPage).MasterPasswordEntry; + entry.Focus(); + entry.CursorPosition = MasterPassword.Length; } public void ToggleConfirmPassword() { ShowPassword = !ShowPassword; - (Page as RegisterPage).ConfirmMasterPasswordEntry.Focus(); + var entry = (Page as RegisterPage).ConfirmMasterPasswordEntry; + entry.Focus(); + entry.CursorPosition = ConfirmMasterPassword.Length; } } }