7a4d05b32d68
show specific blocker message on disabled create vault button
- time
- 2026-04-29 16:21 UTC · 6 months ago
- machine
- koh2
- parent
- 7e9b7808076a
↓ peach-browser-7a4d05b3.tar.gzatlas at this save
files changed1 file
src/popup/views/Lock.tsx+17 −1src/popup/views/Lock.tsx+17 −1
@@ -60,6 +60,16 @@6060 return "strong";6161 });6262 63+ const createBlockerMessage = createMemo(() => {64+ if (!password()) return null;65+ if (password().length < MIN_LENGTH) return `need ${MIN_LENGTH - password().length} more characters`;66+ if (!confirmPassword()) return "confirm your password";67+ if (password() !== confirmPassword()) return "passwords don't match";68+ if (strengthScore() === null) return "checking strength…";69+ if (strengthScore()! < MIN_ZXCVBN_SCORE) return "password too weak — add words or length";70+ return null;71+ });72+6373 // Update strength asynchronously when password changes6474 createMemo(() => {6575 const value = password();@@ -371,8 +381,14 @@371381 class="peach-btn peach-btn--accent peach-btn--md peach-lock-submit peach-newvault-submit"372382 onClick={() => void handleCreate()}373383 disabled={!props.ready || loading() || !canCreate()}384+ aria-live="polite"374385 >375- {loading() ? "creating..." : "create vault"}386+ <Show387+ when={!canCreate() && createBlockerMessage()}388+ fallback={loading() ? "creating..." : "create vault"}389+ >390+ {createBlockerMessage()}391+ </Show>376392 </button>377393 378394 <p class="peach-newvault-warning">