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:
parent
b9e00afdb1
commit
a9ab13e5a9
8 changed files with 448 additions and 7 deletions
19
src/lib/strings/password.ts
Normal file
19
src/lib/strings/password.ts
Normal 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
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue