diff --git a/frontend/components.d.ts b/frontend/components.d.ts index bb800fa1..1d1ea71e 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -142,6 +142,7 @@ declare module 'vue' { KanbanIcon: typeof import('./src/components/Icons/KanbanIcon.vue')['default'] KanbanSettings: typeof import('./src/components/Kanban/KanbanSettings.vue')['default'] KanbanView: typeof import('./src/components/Kanban/KanbanView.vue')['default'] + KeyboardShortcut: typeof import('./src/components/KeyboardShortcut.vue')['default'] LayoutHeader: typeof import('./src/components/LayoutHeader.vue')['default'] LeadModal: typeof import('./src/components/Modals/LeadModal.vue')['default'] LeadsIcon: typeof import('./src/components/Icons/LeadsIcon.vue')['default'] diff --git a/frontend/src/components/Controls/Password.vue b/frontend/src/components/Controls/Password.vue index f8fd9d78..2346fc93 100644 --- a/frontend/src/components/Controls/Password.vue +++ b/frontend/src/components/Controls/Password.vue @@ -4,22 +4,44 @@ :value="modelValue || value" v-bind="$attrs" @keydown.meta.i.prevent="show = !show" + @keydown.ctrl.i.prevent="show = !show" > diff --git a/frontend/src/components/Modals/ChangePasswordModal.vue b/frontend/src/components/Modals/ChangePasswordModal.vue index 673864cb..d6c03399 100644 --- a/frontend/src/components/Modals/ChangePasswordModal.vue +++ b/frontend/src/components/Modals/ChangePasswordModal.vue @@ -102,23 +102,26 @@ function isStrongPassword(password) { return regex.test(password) } -watch(newPassword, () => { +watch([newPassword, confirmPassword], () => { + confirmPasswordMessage.value = '' newPasswordMessage.value = '' + if (newPassword.value.length < 8) { newPasswordMessage.value = 'Password must be at least 8 characters' } else if (!isStrongPassword(newPassword.value)) { newPasswordMessage.value = 'Password must contain uppercase, lowercase, number, and symbol' } -}) -watch(confirmPassword, () => { - confirmPasswordMessage.value = '' - if (newPassword.value !== confirmPassword.value) { + if ( + confirmPassword.value.length && + newPassword.value !== confirmPassword.value + ) { confirmPasswordMessage.value = 'Passwords do not match' } else if ( newPassword.value === confirmPassword.value && - newPassword.value.length + newPassword.value.length && + confirmPassword.value.length ) { confirmPasswordMessage.value = 'Passwords match' }