whisper-money/resources/js/pages/settings
Víctor Falcón 58254fcede
feat(auth): show/hide toggle on password fields (#499)
## What

Add an eye icon to every password field that toggles between masked and
plaintext, so users can verify what they typed.

New reusable `PasswordInput` component
(`components/ui/password-input.tsx`) wrapping the base `Input` with an
`Eye`/`EyeOff` toggle.

## Where

- **Auth**: login, register (password + confirm), reset password
(password + confirm)
- **Settings**: password form & account form (current + new + confirm)
- **Dialogs**: delete-account confirmation, encryption unlock dialog

## Details

- Toggle is keyboard-skipped (`tabIndex={-1}`), mirrors the input's
`disabled` state.
- Accessible: `aria-pressed` + `aria-label` (`Show password` / `Hide
password`), translated and added to `lang/es.json`.
- Dark-mode aware via existing `text-muted-foreground` /
`hover:text-foreground` tokens.

## Tests

- New vitest suite for `PasswordInput` (mask default, toggle, ref
forwarding, disabled state) — 4 passing.
- `LocalizationTest` passing (new translation keys present).
- eslint + prettier clean.

## Not included

Left out (can add on request): `confirm-password.tsx`,
`setup-encryption.tsx`, and the open-banking API key/secret fields.
2026-06-06 11:42:20 +02:00
..
account.tsx feat(auth): show/hide toggle on password fields (#499) 2026-06-06 11:42:20 +02:00
accounts.tsx feat(real-estate): auto-calculate revaluation % and generate historical balances (#253) 2026-04-15 12:18:33 +00:00
appearance.tsx feat(i18n): add localization test and fix missing Spanish translations (#174) 2026-03-01 12:32:39 +00:00
automation-rules.tsx Apply automation rules to existing transactions (#413) 2026-05-22 08:36:18 +02:00
billing.tsx fix(pricing): update final release prices (#288) 2026-04-15 14:49:02 +01:00
categories.tsx feat: parent/child category tree (#474) 2026-06-03 19:30:12 +02:00
connections.test.tsx fix(connections): show expired reconnect (#407) 2026-05-20 13:13:13 +01:00
connections.tsx refactor(js): extract shared getCsrfToken util (#475) 2026-06-03 17:26:09 +02:00
delete-account.tsx feat: Spanish localization (#74) 2026-02-08 11:58:08 +01:00
labels.tsx fix: Add gap between filter/create button on mobile settings pages (#115) 2026-02-12 20:50:05 +01:00
password.tsx feat(auth): show/hide toggle on password fields (#499) 2026-06-06 11:42:20 +02:00
two-factor.tsx feat: Spanish localization (#74) 2026-02-08 11:58:08 +01:00