feat(modals): stronger backdrop blur + dim, and anchor floating modals on light skins
The modal audit found card-less (floating) dialogs read slightly unanchored on the light skins: the blur backdrop's dim is a theme-tinted frost, which darkens on dark themes (content pops) but WHITENS on light themes — so sparse content floated in a near-white expanse with no figure/ground separation. - Light themes now get a neutral dark veil instead of the whitening frost, which darkens the surround and makes the modal's fields/buttons stand out. - Dark themes keep the theme-tinted frost, a touch stronger (alpha 70 -> 90). - Full-window blur deepened (64 -> 96) so the backdrop reads clearly frosted. Verified on the headless sweep across light + dark: backup / debug-gate now read as anchored groups; content-heavy modals (daemon-update, settings, wallets) are unaffected (their own surfaces stand out), and dark-skin text contrast improves for free from the deeper dim. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -729,10 +729,18 @@ inline void DrawFullWindowBlurBackdrop(ImDrawList* dl, const ImVec2& pMin, const
|
||||
// panel skips acrylic (IsFullWindowBlurOverlayActive), so the backdrop is the SOLE applyBlur
|
||||
// caller — no other radius contends for the shared, radius-keyed blur cache.
|
||||
auto params = GetCurrentAcrylicTheme().card;
|
||||
params.blurRadius = 64.0f; // strong full-window blur
|
||||
params.blurRadius = 96.0f; // strong full-window blur (deeper than panels)
|
||||
params.fallbackColor.w = 1.0f; // full-strength blur so the live content reads
|
||||
effects::ImGuiAcrylic::DrawAcrylicRect(dl, pMin, pMax, params, 0.0f);
|
||||
dl->AddRectFilled(pMin, pMax, WithAlpha(Background(), 70)); // subtle theme-tinted frost so the card reads as foreground
|
||||
// Dim over the blur so the floating (card-less) modal reads as foreground. On DARK themes the
|
||||
// theme-tinted frost darkens the backdrop and the light content pops. On LIGHT themes that same
|
||||
// tint whitens the backdrop and leaves card-less content with no figure/ground separation — so
|
||||
// light themes get a neutral dark veil instead, which also makes the modal's fields/buttons stand
|
||||
// out from the (now slightly greyed) surround. Both a touch stronger than before (was alpha 70).
|
||||
if (IsLightTheme())
|
||||
dl->AddRectFilled(pMin, pMax, IM_COL32(16, 18, 24, 56)); // neutral dark veil anchors on white
|
||||
else
|
||||
dl->AddRectFilled(pMin, pMax, WithAlpha(Background(), 90)); // theme-tinted darken, stronger
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user