feat(settings): migrate Export All Keys modal to the reference design

Phase 1. DialogWarningHeader care header (was a hand-rolled red icon+text);
centered DialogActionFooter (Export + Close) replacing the StyledButtons + two
separators; on full success the saved path shows in a copy field with a green
check, partial/error render inline; export progress uses LoadingDots. Full i18n:
the previously-hardcoded notification + status strings now use TR (8 new
export_keys_* keys in en + 8 langs). Added hide() + a modal-export-all-keys sweep
surface. Also fixes a latent Begin/EndOverlayDialog imbalance on the 0-address
early return. No change to the export RPC logic.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-13 21:43:53 -05:00
parent 22638b094c
commit 822891d4ef
13 changed files with 150 additions and 81 deletions

View File

@@ -1327,6 +1327,14 @@ void I18n::loadBuiltinEnglish()
strings_["export_keys_include_z"] = "Include Z-addresses (shielded)";
strings_["export_keys_options"] = "Export options:";
strings_["export_keys_success"] = "Keys exported successfully";
strings_["export_keys_select_type"] = "Select at least one address type";
strings_["export_keys_not_connected"] = "Not connected to the daemon";
strings_["export_keys_none_addrs"] = "No addresses to export";
strings_["export_keys_none_result"] = "No keys exported (0 of %d) \xE2\x80\x94 unlock the wallet and try again.";
strings_["export_keys_none_toast"] = "No keys could be exported \xE2\x80\x94 is the wallet unlocked?";
strings_["export_keys_write_fail"] = "Failed to write the key file.";
strings_["export_keys_partial"] = "Exported %d of %d keys \xE2\x80\x94 incomplete (some had no spending key, or the wallet is locked).";
strings_["export_keys_partial_toast"] = "Partial export: %d of %d keys";
strings_["export_keys_title"] = "Export All Private Keys";
// --- Export Transactions Dialog ---