v1.1.0: explorer tab, bootstrap fixes, full theme overlay merge

Explorer tab:
- New block explorer tab with search, chain stats, mempool info,
  recent blocks table, block detail modal with tx expansion
- Sidebar nav entry, i18n strings, ui.toml layout values

Bootstrap fixes:
- Move wizard Done handler into render() — was dead code, preventing
  startEmbeddedDaemon() and tryConnect() from firing post-wizard
- Stop deleting BDB database/ dir during cleanup — caused LSN mismatch
  that salvaged wallet.dat into wallet.{timestamp}.bak
- Add banlist.dat, db.log, .lock to cleanup file list
- Fatal extraction failure for blocks/ and chainstate/ files
- Verification progress: split SHA-256 (0-50%) and MD5 (50-100%)

Theme system:
- Expand overlay merge to apply ALL sections (tabs, dialogs, components,
  screens, flat sections), not just theme+backdrop+effects
- Add screens and security section parsing to UISchema
- Build-time theme expansion via expand_themes.py (CMake + build.sh)

Other:
- Version bump to 1.1.0
- WalletState::clear() resets all fields (sync, daemon info, etc.)
- Sidebar item-height 42 → 36
This commit is contained in:
2026-03-17 18:49:46 -05:00
parent 40dd6d45b2
commit 474250bb50
16 changed files with 1388 additions and 60 deletions

View File

@@ -5,7 +5,7 @@
<assemblyIdentity
type="win32"
name="DragonX.ObsidianDragon.Wallet"
version="1.0.2.0"
version="1.1.0.0"
processorArchitecture="amd64"
/>

View File

@@ -894,6 +894,18 @@ pair-bar-arrow-size = { size = 28.0 }
exchange-combo-width = { size = 180.0 }
exchange-top-gap = { size = 0.0 }
[tabs.explorer]
search-input-width = { size = 400.0 }
search-button-width = { size = 100.0 }
search-bar-height = { size = 32.0 }
row-height = { size = 32.0 }
row-rounding = { size = 4.0 }
tx-row-height = { size = 28.0 }
label-column = { size = 160.0 }
detail-modal-width = { size = 700.0 }
detail-max-height = { size = 600.0 }
scroll-fade-zone = { size = 24.0 }
[tabs.console]
input-area-padding = 8.0
output-line-spacing = 2.0
@@ -1218,7 +1230,7 @@ collapse-anim-speed = { size = 10.0 }
auto-collapse-threshold = { size = 800.0 }
section-gap = { size = 4.0 }
section-label-pad-left = { size = 16.0 }
item-height = { size = 42.0 }
item-height = { size = 36.0 }
item-pad-x = { size = 8.0 }
min-height = { size = 360.0 }
margin-top = { size = -12 }