feat(ux): clearer chat delivery, explorer empty/range states, honest settings label
Three next-batch UX-audit fixes:
- Chat delivery: the sending/sent glyph has higher contrast and a tooltip
("Sent to the network — arrives after it confirms", so a check isn't mistaken
for "delivered"); a failed send now carries the real reason (ChatMessage::
fail_reason, set from onChatBroadcastResult via friendlyRpcError, in-memory
only) in the "not sent" hover tooltip.
- Explorer: a block height beyond the tip says so ("Block N is beyond the chain
tip (M)") instead of silently snapping to the top; the empty block list shows
Not connected / Syncing (N behind) / Loading instead of an endless "Loading".
- Settings: the misleading "Reset to Defaults" button (which only reloads the
last-saved values) is relabeled "Discard unsaved changes" with accurate copy.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+10
-2
@@ -233,6 +233,9 @@ void I18n::loadBuiltinEnglish()
|
||||
strings_["chat_you"] = "You";
|
||||
strings_["chat_contact_request"] = "contact request";
|
||||
strings_["chat_send_failed"] = "not sent";
|
||||
strings_["chat_status_sending"] = "Sending… waiting for your wallet to broadcast it";
|
||||
strings_["chat_status_sent"] = "Sent to the network — it arrives after it confirms (about a minute)";
|
||||
strings_["chat_failed_generic"] = "Couldn't be sent. Check your connection and funds, then retry.";
|
||||
strings_["chat_new_button"] = "New chat";
|
||||
strings_["chat_select_hint"] = "Select a conversation to view it.";
|
||||
strings_["chat_waiting_reply"] = "Waiting for this contact to reply — you can message them once they do.";
|
||||
@@ -532,6 +535,7 @@ void I18n::loadBuiltinEnglish()
|
||||
strings_["report_bug"] = "Report Bug";
|
||||
strings_["save_settings"] = "Save Settings";
|
||||
strings_["reset_to_defaults"] = "Reset to Defaults";
|
||||
strings_["discard_changes"] = "Discard unsaved changes";
|
||||
|
||||
// Wallet settings
|
||||
strings_["save_z_transactions"] = "Save shielded tx history";
|
||||
@@ -1023,7 +1027,7 @@ void I18n::loadBuiltinEnglish()
|
||||
strings_["tt_website"] = "Open the DragonX website";
|
||||
strings_["tt_report_bug"] = "Report an issue on the project tracker";
|
||||
strings_["tt_save_settings"] = "Save all settings to disk";
|
||||
strings_["tt_reset_settings"] = "Reload settings from disk (undo unsaved changes)";
|
||||
strings_["tt_reset_settings"] = "Revert this page to the last saved settings (undo unsaved changes)";
|
||||
strings_["tt_debug_collapse"] = "Collapse debug logging options";
|
||||
strings_["tt_debug_expand"] = "Expand debug logging options";
|
||||
strings_["tt_restart_daemon"] = "Restart the daemon to apply debug logging changes";
|
||||
@@ -1592,7 +1596,7 @@ void I18n::loadBuiltinEnglish()
|
||||
strings_["settings_not_connected"] = "Not connected to daemon";
|
||||
strings_["settings_theme_refreshed"] = "Theme list refreshed";
|
||||
strings_["settings_saved"] = "Settings saved";
|
||||
strings_["settings_reloaded"] = "Settings reloaded from disk";
|
||||
strings_["settings_reloaded"] = "Unsaved changes discarded";
|
||||
strings_["settings_ztx_cleared"] = "Z-transaction history cleared";
|
||||
strings_["settings_ztx_not_found"] = "No history file found";
|
||||
strings_["tt_open_log_folder"] = "Open the folder containing the debug and crash logs";
|
||||
@@ -2754,6 +2758,10 @@ void I18n::loadBuiltinEnglish()
|
||||
strings_["explorer_hash_not_found"] = "No block or transaction found for this hash";
|
||||
strings_["explorer_not_connected"] = "Not connected to daemon — cannot look up a block or transaction hash";
|
||||
strings_["explorer_no_results"] = "No matching cached blocks";
|
||||
strings_["explorer_beyond_tip"] = "Block %d is beyond the chain tip (%d)";
|
||||
strings_["explorer_empty_not_connected"] = "Not connected to the node";
|
||||
strings_["explorer_empty_syncing"] = "Syncing, %d blocks behind";
|
||||
strings_["explorer_empty_syncing_unknown"] = "Syncing…";
|
||||
|
||||
// ---- i18n audit 2026-09: wrap previously-hardcoded UI strings ----
|
||||
// app_security.cpp — encryption / PIN / lock flow
|
||||
|
||||
Reference in New Issue
Block a user