feat(settings): redesign encrypt & change-passphrase modals onto reference design
Migrate the Encrypt Wallet (3-phase) and Change Passphrase dialogs in
renderEncryptWalletDialog onto the settings-modal reference design —
presentation-only, no change to the crypto/state-machine/secret-wipe logic:
- struct-form BeginOverlayDialog(OverlayDialogSpec{BlurFloat, cardWidth, idSuffix})
replacing the legacy positional overload (same visual style, dp-scaled width)
- amber TextWrapped warning -> material::DialogWarningHeader(wiz_encrypt_warning)
- drop redundant Separator dividers
- every hardcoded English string -> TR() (13 new enc_*/change_pass_* keys added to
the English source + all 8 res/lang/*.json additively; CJK subset rebuilt)
The strength-meter math, 3-phase transitions, "cannot close while encrypting"
guard, memset/SecureVault buffer wipes, and the encrypt/changePassphrase/vault
async paths are byte-for-byte unchanged. Verified: build + ctest + hygiene clean,
wiz_strength %s format-string safe across all languages, and a 3-lens adversarial
review (secret-hygiene / presentation-only / ui-i18n) returned zero findings.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -508,6 +508,20 @@ void I18n::loadBuiltinEnglish()
|
||||
strings_["wiz_encrypt_desc"] = "Encrypt your wallet to protect private keys with a passphrase.";
|
||||
strings_["wiz_encrypt_warning"] = "If you lose your passphrase, you lose access to your funds.";
|
||||
strings_["wiz_passphrase"] = "Passphrase:";
|
||||
// --- Encrypt / change-passphrase dialogs (settings) ---
|
||||
strings_["enc_desc"] = "Encrypting your wallet protects your private keys with a passphrase. After encryption, the daemon will restart.";
|
||||
strings_["enc_confirm"] = "Confirm:";
|
||||
strings_["enc_encrypting"] = "Encrypting wallet...";
|
||||
strings_["enc_wait"] = "Please wait, do not close the application.";
|
||||
strings_["enc_success"] = "Wallet encrypted successfully!";
|
||||
strings_["enc_pin_desc"] = "A 4-8 digit PIN lets you unlock your wallet without typing the full passphrase every time.";
|
||||
strings_["enc_pin_set_ok"] = "PIN set successfully";
|
||||
strings_["enc_pin_vault_fail"] = "Failed to create PIN vault";
|
||||
strings_["enc_pin_skipped"] = "PIN skipped. You can set one later in Settings.";
|
||||
strings_["change_pass_title"] = "Change Passphrase";
|
||||
strings_["change_pass_current"] = "Current Passphrase:";
|
||||
strings_["change_pass_new"] = "New Passphrase:";
|
||||
strings_["change_pass_confirm"] = "Confirm New:";
|
||||
strings_["wiz_confirm"] = "Confirm:";
|
||||
strings_["wiz_strength_weak"] = "Weak";
|
||||
strings_["wiz_strength_fair"] = "Fair";
|
||||
|
||||
Reference in New Issue
Block a user