feat(ui): float Transaction Details + Block Info dialogs (Phase 2 large-dialog example)

Convert two clean detail-view dialogs to the BlurFloat style (floating content on
the blur, plain h6 heading, no glass card) — the "float for large" half of the
plan, applied conservatively: keep each dialog's authored card width so its
width-coupled content (absolute SameLine positions, GetWindowWidth math) is
unchanged, and rely on the footer Close + outside-click for dismissal (the plain
heading drops the title-bar close X, matching the portfolio modal). Auto-height
preserved. A representative pair to GUI-review before rolling the treatment out to
the other large dialogs (or reverting if the card-on-blur reads better).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-04 12:34:13 -05:00
parent ccbb0783b5
commit 61738ef24a
2 changed files with 12 additions and 2 deletions

View File

@@ -101,7 +101,12 @@ void BlockInfoDialog::render(App* app)
auto hashBackLbl = S.label("dialogs.block-info", "hash-back-label");
auto closeBtn = S.button("dialogs.block-info", "close-button");
if (material::BeginOverlayDialog(TR("block_info_title"), &s_open, win.width, 0.94f)) {
material::OverlayDialogSpec ov;
ov.title = TR("block_info_title"); ov.p_open = &s_open;
ov.style = material::OverlayStyle::BlurFloat; // floating content on the blur, plain heading
ov.cardWidth = win.width; // keep the authored width
ov.cardBottomViewportRatio = 0.94f;
if (material::BeginOverlayDialog(ov)) {
auto* rpc = app->rpc();
const auto& state = app->getWalletState();

View File

@@ -45,7 +45,12 @@ void TransactionDetailsDialog::render(App* app)
auto memoInput = S.input("dialogs.transaction-details", "memo-input");
auto bottomBtn = S.button("dialogs.transaction-details", "bottom-button");
if (material::BeginOverlayDialog(TR("tx_details_title"), &s_open, win.width, 0.94f)) {
material::OverlayDialogSpec ov;
ov.title = TR("tx_details_title"); ov.p_open = &s_open;
ov.style = material::OverlayStyle::BlurFloat; // floating content on the blur, plain heading
ov.cardWidth = win.width; // keep the authored width (content is laid out to it)
ov.cardBottomViewportRatio = 0.94f;
if (material::BeginOverlayDialog(ov)) {
const auto& tx = s_transaction;
// Type indicator with color