Files
sure/app/views/settings/providers/_drawer_header.html.erb
Guillem Arias 89726e6d82 refactor(settings/providers): drawer cleanup, header lock-up, trust statement
Per the design review's §07.

- Drop the trailing "Configured / Not configured" footer status from
  every provider panel (binance, coinbase, coinstats, indexa_capital,
  lunchflow, mercury, simplefin, snaptrade, sophtron, provider_form).
  The parent details section's status pill already carries that
  signal; the footer was redundant — and the copy/styling was
  inconsistent across panels (free-text vs. dot pill, "configured"
  vs. "not connected").
- Connect drawer gets a header lock-up: small logo chip + provider
  name + maturity badge, mirroring the available-card layout.
  Implemented as _drawer_header partial; connect_form passes
  custom_header: true to DS::Dialog so we own the row.
- Drawer footer trust statement: "Read-only — Sure can never move
  money. Stored encrypted." A single-line reassurance covering all
  panels.
- Sentence-case the hardcoded primary buttons that were Title Case:
  "Save Configuration" -> "Save and connect"
  "Update Configuration" -> "Update connection"
  "Connect Bank" -> "Connect bank"
  Affects simplefin, lunchflow, enable_banking, provider_form. The
  i18n'd panels (binance, coinbase, coinstats, indexa_capital,
  mercury, snaptrade, sophtron) keep their existing keys.
2026-05-09 11:49:43 +02:00

26 lines
1.1 KiB
Plaintext

<%# locals: (provider_key:, title:) %>
<% meta = provider_key.present? ? Provider::Metadata.for(provider_key) : nil %>
<% maturity_label_key = meta && Settings::ProviderCard::MATURITY_LABELS[meta[:maturity]] %>
<% maturity_label = maturity_label_key ? t(maturity_label_key) : nil %>
<div class="flex items-center justify-between gap-2">
<div class="flex items-center gap-2 min-w-0">
<% if meta && meta[:logo_bg].present? %>
<span class="w-7 h-7 rounded-lg flex items-center justify-center shrink-0 <%= meta[:logo_bg] %>">
<span class="text-[10px] font-bold text-inverse"><%= meta[:logo_text] %></span>
</span>
<% end %>
<h2 class="text-lg font-medium text-primary truncate"><%= title %></h2>
<% if maturity_label %>
<span class="text-xs font-medium px-1.5 py-0.5 rounded-full bg-alpha-black-50 text-secondary shrink-0"><%= maturity_label %></span>
<% end %>
</div>
<%= render DS::Button.new(
variant: "icon",
class: "ml-auto hidden lg:flex",
icon: "x",
title: t("common.close"),
aria_label: t("common.close"),
data: { action: "DS--dialog#close" }
) %>
</div>