fix(ds): neutral text for goals status callout (#2312)

The goals status callout colored its entire body (icon, label and
context) with text-warning / text-success / text-secondary, so a
behind goal rendered as all-yellow text. That diverges from the
DS::Alert recipe, where tinted boxes keep neutral body text
(text-primary) and only the icon carries the status color. Drop the
text-* tokens from the container, add text-primary, and move the
warning/success color onto the icon via color:.
This commit is contained in:
Guillem Arias Fauste
2026-06-14 21:50:11 +02:00
committed by GitHub
parent 88343002d1
commit bc0dcdd41b

View File

@@ -4,11 +4,11 @@
variant_classes = case goal.status
when :behind
"bg-warning/10 border-warning/20 text-warning"
"bg-warning/10 border-warning/20"
when :on_track
"bg-success/10 border-success/20 text-success"
"bg-success/10 border-success/20"
else
"bg-surface-inset border-secondary text-secondary"
"bg-surface-inset border-secondary"
end
icon_glyph = case goal.status
@@ -18,10 +18,16 @@
else "info"
end
icon_color = case goal.status
when :behind then "warning"
when :on_track then "success"
else "default"
end
label = t("goals.status.#{goal.status}", default: goal.status.to_s.titleize)
%>
<div class="rounded-lg border px-3 py-2 text-sm flex items-center gap-2 <%= variant_classes %>">
<span class="shrink-0"><%= icon(icon_glyph, size: "sm") %></span>
<div class="rounded-lg border px-3 py-2 text-sm flex items-center gap-2 text-primary <%= variant_classes %>">
<span class="shrink-0"><%= icon(icon_glyph, size: "sm", color: icon_color) %></span>
<span class="font-medium"><%= label %></span>
<span class="opacity-60">·</span>
<span class="opacity-90 <%= "privacy-sensitive" if goal.status == :behind %>"><%= context %></span>