diff --git a/app/components/savings/progress_ring_component.html.erb b/app/components/savings/progress_ring_component.html.erb index bdac3620f..794964b01 100644 --- a/app/components/savings/progress_ring_component.html.erb +++ b/app/components/savings/progress_ring_component.html.erb @@ -13,8 +13,6 @@
<%= t("savings_goals.show.ring.saved") %> <%= percent %>% - <%= amount_label %> - of <%= target_label %>
diff --git a/app/components/savings/status_pill_component.rb b/app/components/savings/status_pill_component.rb index ed8763bc7..0d43e3ef8 100644 --- a/app/components/savings/status_pill_component.rb +++ b/app/components/savings/status_pill_component.rb @@ -1,10 +1,15 @@ class Savings::StatusPillComponent < ApplicationComponent + # Text colors here intentionally use palette steps (green-700 / yellow-700 / + # gray-700) rather than `text-success` / `text-warning` / `text-secondary` + # tokens because the functional tokens drop below WCAG 1.4.3 4.5:1 on tinted + # surfaces in light mode (~2.88:1 / 3.0:1 / 4.16:1). Local override only; + # revert once we-promise/sure#1736 lands token-level fixes. VARIANTS = { - on_track: { classes: "bg-green-500/10 text-success", icon: "circle-check" }, - behind: { classes: "bg-yellow-500/10 text-warning", icon: "triangle-alert" }, - reached: { classes: "bg-green-500/10 text-success", icon: "star" }, - no_target_date: { classes: "bg-surface-inset text-secondary", icon: "infinity" }, - paused: { classes: "bg-surface-inset text-secondary", icon: "pause" } + on_track: { classes: "bg-green-500/10 text-green-700", icon: "circle-check" }, + behind: { classes: "bg-yellow-500/10 text-yellow-700", icon: "triangle-alert" }, + reached: { classes: "bg-green-500/10 text-green-700", icon: "star" }, + no_target_date: { classes: "bg-surface-inset text-gray-700", icon: "infinity" }, + paused: { classes: "bg-surface-inset text-gray-700", icon: "pause" } }.freeze def initialize(goal:) diff --git a/app/views/savings_goals/show.html.erb b/app/views/savings_goals/show.html.erb index d61b9ea46..7779e791c 100644 --- a/app/views/savings_goals/show.html.erb +++ b/app/views/savings_goals/show.html.erb @@ -83,10 +83,13 @@ <%= render DS::Alert.new(variant: "info", title: t("savings_goals.show.paused_banner.title")) do %>

<%= t("savings_goals.show.paused_banner.body") %>

- <%= button_to t("savings_goals.show.paused_banner.resume_cta"), - resume_savings_goal_path(@savings_goal), - method: :patch, - class: "inline-flex items-center gap-1 rounded-md px-3 py-2 text-sm font-medium text-inverse bg-inverse hover:bg-inverse-hover" %> + <%= render DS::Button.new( + text: t("savings_goals.show.paused_banner.resume_cta"), + href: resume_savings_goal_path(@savings_goal), + variant: "primary", + size: "sm", + method: :patch + ) %>
<% end %> <% elsif @savings_goal.archived? %> @@ -95,10 +98,13 @@

<%= t("savings_goals.show.archived_banner.body") %>

<% if @savings_goal.may_unarchive? %>
- <%= button_to t("savings_goals.show.archived_banner.restore_cta"), - unarchive_savings_goal_path(@savings_goal), - method: :patch, - class: "inline-flex items-center gap-1 rounded-md px-3 py-2 text-sm font-medium text-inverse bg-inverse hover:bg-inverse-hover" %> + <%= render DS::Button.new( + text: t("savings_goals.show.archived_banner.restore_cta"), + href: unarchive_savings_goal_path(@savings_goal), + variant: "primary", + size: "sm", + method: :patch + ) %>
<% end %> <% end %> @@ -149,10 +155,13 @@

<%= t(".celebration.body", amount: @savings_goal.target_amount_money.format) %>

<% if @savings_goal.may_archive? %>
- <%= button_to t(".celebration.archive_cta"), - archive_savings_goal_path(@savings_goal), - method: :patch, - class: "inline-flex items-center gap-1 rounded-md px-3 py-2 text-sm font-medium text-primary border border-secondary bg-transparent hover:bg-surface-hover" %> + <%= render DS::Button.new( + text: t(".celebration.archive_cta"), + href: archive_savings_goal_path(@savings_goal), + variant: "outline", + size: "sm", + method: :patch + ) %>
<% end %>