password flow improvements (#2730)

* add button to skip sending reset code

* add validation to reset code

* comments

* update test id

* consistency sneak in - everything capitalized

* add change password button to settings

* create a modal for password change

* change password modal

* remove unused styles

* more improvements

* improve layout

* change done button color

* add already have a code to modal

* remove unused prop

* icons, auto add dash

* cleanup

* better appearance on android

* Remove log

* Improve error messages and add specificity to function names

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
This commit is contained in:
Hailey 2024-02-06 10:06:25 -08:00 committed by GitHub
parent b9e00afdb1
commit a9ab13e5a9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 448 additions and 7 deletions

View file

@ -0,0 +1,19 @@
// Regex for base32 string for testing reset code
const RESET_CODE_REGEX = /^[A-Z2-7]{5}-[A-Z2-7]{5}$/
export function checkAndFormatResetCode(code: string): string | false {
// Trim the reset code
let fixed = code.trim().toUpperCase()
// Add a dash if needed
if (fixed.length === 10) {
fixed = `${fixed.slice(0, 5)}-${fixed.slice(5, 10)}`
}
// Check that it is a valid format
if (!RESET_CODE_REGEX.test(fixed)) {
return false
}
return fixed
}