<%= content_for :page_title, t("settings.providers.bank_sync.page_title") %>
<% if @encryption_error %> <%= render DS::Alert.new( variant: :error, title: t("settings.providers.encryption_error.title"), message: t("settings.providers.encryption_error.message") ) %> <% else %>

<%= t("settings.providers.bank_sync.lede") %>

<% if @connected.any? || @needs_attention.any? %> <% sync_all_disabled = Current.family.last_sync_all_attempted_at.present? && Current.family.last_sync_all_attempted_at > 30.seconds.ago %> <%= render DS::Link.new( text: t("settings.providers.sync_all"), icon: "refresh-cw", variant: "outline", href: sync_all_settings_providers_path, method: :post, title: sync_all_disabled ? t("settings.providers.sync_all_recently") : nil, aria: { disabled: sync_all_disabled.to_s }, class: sync_all_disabled ? "opacity-50 pointer-events-none" : nil ) %> <% end %>
<% all_connections = @needs_attention + @connected %> <% if all_connections.any? %> <% if @health %> <%= render "settings/providers/health_strip", connected: @health[:connected], needs_attention: @health[:needs_attention], accounts_syncing: @health[:accounts_syncing], last_synced_at: @health[:last_synced_at] %> <% end %> <%= render "settings/providers/group_heading", title: t("settings.providers.groups.your_connections"), count: all_connections.size %>
<% all_connections.each do |entry| %> <% auto_open = all_connections.size == 1 %> <%= render "settings/providers/connection_row", entry: entry, open: auto_open %> <% end %>
<% end %> <% if @available.any? %>
<%= render "settings/providers/search_filters" %>

<%= t("settings.providers.groups.available") %> ยท <%= @available.size %>

<% @available.each do |entry| %> <% meta = Provider::Metadata.for(entry[:provider_key]) %> <%= render Settings::ProviderCard.new( provider_key: entry[:provider_key], name: entry[:title], tagline: t("settings.providers.taglines.#{entry[:provider_key]}", default: nil), region: meta[:region], kind: meta[:kind], tier: meta[:tier], maturity: meta[:maturity] || :stable, logo_bg: meta[:logo_bg], logo_text: meta[:logo_text] ) %> <% end %>
<% else %> <%= render "settings/providers/group_heading", title: t("settings.providers.groups.available"), count: 0, anchor: "available" %>

<%= t("settings.providers.groups.empty_available") %>

<% end %> <% end %>