feat(settings): redesign the Import Key dialog
Rework the full-node Import Key dialog into a safer, Material-consistent, more capable flow: - Security: the key is masked by default (Password) with a reveal (eye) toggle, a DialogWarningHeader "only import a key you own" note, and the buffer is wiped with sodium_memzero on close and on successful import. - Progress: import triggers a blocking full-chain rescan; the dialog now shows "Importing & rescanning — this can take several minutes" with LoadingDots and disables Import while it runs (no double-submit). Offline shows a "connect a running node" note and disables Import up front. - Viewing keys: the classifier gains isViewingKey / isRecognizedImportKey; importPrivateKey auto-detects a shielded viewing key (zxviews…) and routes to z_importviewingkey (watch-only) vs z_importkey / importprivkey. The live type indicator shows Transparent / Shielded spending / Shielded viewing (watch-only). - Result: on success the imported address is captured from the RPC result and shown via AddressCopyField. - Material restyle (OverlayDialogSpec/BlurFloat + TactileButton + Esc) and full i18n (12 new keys x 8 languages; CJK subset rebuilt). Verified: rendered on dark + light skins; a seeded zxviews… key shows the masked field + "Shielded viewing key (watch-only)" indicator. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -416,18 +416,30 @@
|
||||
"history": "История",
|
||||
"immature_type": "Незрелая",
|
||||
"import": "Импорт",
|
||||
"import_key_address": "Адрес:",
|
||||
"import_key_btn": "Импорт ключей",
|
||||
"import_key_done": "Импортировано. Кошелёк выполняет повторное сканирование.",
|
||||
"import_key_field": "Ключ",
|
||||
"import_key_formats": "Поддерживаемые форматы ключей:",
|
||||
"import_key_full_rescan": "(0 = полное сканирование)",
|
||||
"import_key_import": "Импорт",
|
||||
"import_key_label": "Приватный ключ(и):",
|
||||
"import_key_need_node": "Подключите запущенный узел, чтобы импортировать ключ.",
|
||||
"import_key_no_valid": "В введённых данных не найдено действительных ключей",
|
||||
"import_key_progress": "Импорт %d/%d...",
|
||||
"import_key_rescan": "Пересканировать блокчейн после импорта",
|
||||
"import_key_rescanning": "Импорт и повторное сканирование — это может занять несколько минут",
|
||||
"import_key_reveal_tip": "Показать/скрыть ключ",
|
||||
"import_key_start_height": "Начальная высота:",
|
||||
"import_key_success": "Ключи успешно импортированы",
|
||||
"import_key_t_format": "Приватные ключи WIF для T-адресов",
|
||||
"import_key_title": "Импорт приватного ключа",
|
||||
"import_key_tooltip": "Введите один или несколько приватных ключей, по одному на строку.\nПоддерживаются ключи z-адресов и t-адресов.\nСтроки, начинающиеся с #, считаются комментариями.",
|
||||
"import_key_type_tkey": "Прозрачный приватный ключ",
|
||||
"import_key_type_unknown": "Нераспознанный формат ключа",
|
||||
"import_key_type_zspend": "Экранированный ключ траты",
|
||||
"import_key_type_zview": "Экранированный ключ просмотра (только чтение)",
|
||||
"import_key_warn": "Импортируйте только свой ключ — он даёт доступ к его средствам.",
|
||||
"import_key_warning": "Предупреждение: Никогда не делитесь своими приватными ключами! Импорт ключей из ненадёжных источников может скомпрометировать ваш кошелёк.",
|
||||
"import_key_z_format": "Ключи расходования z-адресов (secret-extended-key-...)",
|
||||
"import_private_key": "Импорт приватного ключа...",
|
||||
|
||||
Reference in New Issue
Block a user