fix(theme): mop-up per-skin nits — ratio bar + light-skin muted text

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) <noreply@anthropic.com>
This commit is contained in:
2026-07-05 00:46:53 -05:00
parent 1c5bc0d4d6
commit ee6903ae56
6 changed files with 12 additions and 8 deletions

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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).