From ee6903ae5659c6aba83bc233fca5b319a08af161 Mon Sep 17 00:00:00 2001 From: DanS Date: Sun, 5 Jul 2026 00:46:53 -0500 Subject: [PATCH] =?UTF-8?q?fix(theme):=20mop-up=20per-skin=20nits=20?= =?UTF-8?q?=E2=80=94=20ratio=20bar=20+=20light-skin=20muted=20text?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Lower-severity polish from the per-skin review: - Market portfolio ratio bar: was full-saturation Success/Warning at a208 over a white a10 track — the green read as "neon" on dark skins and the track was invisible on light skins. Make it theme-aware: muted fills (a165) on dark, a dark track on light so the bar is defined on white/pastel surfaces. - Light-skin muted text: bump --on-surface-disabled 0.52 -> 0.62 on light/ color-pop-light/dune/marble/iridescent so secondary text (addresses, category labels) clears the pastel/gradient backgrounds (analog of the dark-skin bump). Remaining review nits are the "white-overlay-assumes-dark" track/hover pattern (a broader separate sweep) and per-skin aesthetic trade-offs; deferred. Co-Authored-By: Claude Opus 4.8 (1M context) --- res/themes/color-pop-light.toml | 2 +- res/themes/dune.toml | 2 +- res/themes/iridescent.toml | 2 +- res/themes/light.toml | 2 +- res/themes/marble.toml | 2 +- src/ui/windows/market_tab.cpp | 10 +++++++--- 6 files changed, 12 insertions(+), 8 deletions(-) diff --git a/res/themes/color-pop-light.toml b/res/themes/color-pop-light.toml index dd9d727..5eaed21 100644 --- a/res/themes/color-pop-light.toml +++ b/res/themes/color-pop-light.toml @@ -20,7 +20,7 @@ images = { background_image = "backgrounds/texture/pop-light_bg.png", logo = "lo --on-background = "#1E1E2A" --on-surface = "#1E1E2A" --on-surface-medium = "rgba(30,30,42,0.86)" ---on-surface-disabled = "rgba(30,30,42,0.52)" +--on-surface-disabled = "rgba(30,30,42,0.62)" --error = "#E0304A" --on-error = "#FFFFFF" --success = "#18A860" diff --git a/res/themes/dune.toml b/res/themes/dune.toml index 077bcba..483dba4 100644 --- a/res/themes/dune.toml +++ b/res/themes/dune.toml @@ -21,7 +21,7 @@ elevation = { --elevation-0 = "#FDF8F0", --elevation-1 = "#F5EDE0", --elevation- --on-background = "#3A2E22" --on-surface = "#3A2E22" --on-surface-medium = "rgba(58,46,34,0.86)" ---on-surface-disabled = "rgba(58,46,34,0.52)" +--on-surface-disabled = "rgba(58,46,34,0.62)" --error = "#A0524A" --on-error = "#FFFFFF" --success = "#4E8A42" diff --git a/res/themes/iridescent.toml b/res/themes/iridescent.toml index 76d5b1f..a00ffaf 100644 --- a/res/themes/iridescent.toml +++ b/res/themes/iridescent.toml @@ -21,7 +21,7 @@ elevation = { --elevation-0 = "#FDFBFF", --elevation-1 = "#F5F0FA", --elevation- --on-background = "#1C1525" --on-surface = "#1C1525" --on-surface-medium = "rgba(28,21,37,0.86)" ---on-surface-disabled = "rgba(28,21,37,0.52)" +--on-surface-disabled = "rgba(28,21,37,0.62)" --error = "#C62828" --on-error = "#FFFFFF" --success = "#2E7D32" diff --git a/res/themes/light.toml b/res/themes/light.toml index f843250..cc553f1 100644 --- a/res/themes/light.toml +++ b/res/themes/light.toml @@ -20,7 +20,7 @@ elevation = { --elevation-0 = "#FAFAFA", --elevation-1 = "#F2F3F5", --elevation- --on-background = "#2A2C30" --on-surface = "#2A2C30" --on-surface-medium = "rgba(42,44,48,0.86)" ---on-surface-disabled = "rgba(42,44,48,0.52)" +--on-surface-disabled = "rgba(42,44,48,0.62)" --error = "#8C5A62" --on-error = "#FFFFFF" --success = "#3D7A42" diff --git a/res/themes/marble.toml b/res/themes/marble.toml index 6b83fb8..2aa709c 100644 --- a/res/themes/marble.toml +++ b/res/themes/marble.toml @@ -21,7 +21,7 @@ elevation = { --elevation-0 = "#FAFAF8", --elevation-1 = "#F0EEEC", --elevation- --on-background = "#2C2A28" --on-surface = "#2C2A28" --on-surface-medium = "rgba(44,42,40,0.86)" ---on-surface-disabled = "rgba(44,42,40,0.52)" +--on-surface-disabled = "rgba(44,42,40,0.62)" --error = "#8C5250" --on-error = "#FFFFFF" --success = "#3F7A48" diff --git a/src/ui/windows/market_tab.cpp b/src/ui/windows/market_tab.cpp index a4cf8d3..71cd270 100644 --- a/src/ui/windows/market_tab.cpp +++ b/src/ui/windows/market_tab.cpp @@ -1738,16 +1738,20 @@ static void mktDrawPortfolio(const MktCtx& cx) float transpW = barW - shieldedW; ImVec2 barStart(cx0, cy); + // Theme-aware: a dark track (not an invisible white one) on light skins, and slightly muted + // fills on dark skins where full-saturation Success/Warning read as a neon bar. + const bool barLight = IsLightTheme(); + const int fillA = barLight ? 205 : 165; dl->AddRectFilled(barStart, ImVec2(barStart.x + barW, barStart.y + ratioBarH), - IM_COL32(255, 255, 255, 10), 3.0f); + barLight ? IM_COL32(0, 0, 0, 20) : IM_COL32(255, 255, 255, 10), 3.0f); if (shieldedW > 0.5f) dl->AddRectFilled(barStart, ImVec2(barStart.x + shieldedW, barStart.y + ratioBarH), - WithAlpha(Success(), 200), + WithAlpha(Success(), fillA), transpW > 0.5f ? ImDrawFlags_RoundCornersLeft : ImDrawFlags_RoundCornersAll, 3.0f); if (transpW > 0.5f) dl->AddRectFilled(ImVec2(barStart.x + shieldedW, barStart.y), ImVec2(barStart.x + barW, barStart.y + ratioBarH), - WithAlpha(Warning(), 200), + WithAlpha(Warning(), fillA), shieldedW > 0.5f ? ImDrawFlags_RoundCornersRight : ImDrawFlags_RoundCornersAll, 3.0f); // market_pct_shielded is "%.0f%% Shielded" — pass a double (an int to %f is UB).