<%= t("recurring_transactions.title") %>

<% unless @family.recurring_transactions_disabled? %> <%= render DS::Menu.new do |menu| %> <% menu.with_item( variant: "button", text: t("recurring_transactions.cleanup_stale"), href: cleanup_recurring_transactions_path, method: :post, icon: "trash-2") %> <% end %> <%= render DS::Link.new( text: t("recurring_transactions.identify_patterns"), icon: "search", variant: "outline", href: identify_recurring_transactions_path, method: :post ) %> <% end %>

<%= t("recurring_transactions.settings.enable_label") %>

<%= t("recurring_transactions.settings.enable_description") %>

<%= form_with url: update_settings_recurring_transactions_path, method: :patch, data: { turbo_frame: "_top", controller: "auto-submit-form" } do |f| %> <%= f.hidden_field :recurring_transactions_disabled, value: @family.recurring_transactions_disabled? ? "false" : "true" %> <%= render DS::Toggle.new( id: "recurring_transactions_enabled", name: "toggle_display", checked: !@family.recurring_transactions_disabled?, data: { auto_submit_form_target: "auto" } ) %> <% end %>
<% unless @family.recurring_transactions_disabled? %>
<%= icon "info", class: "w-5 h-5 text-link mt-0.5 flex-shrink-0" %>

<%= t("recurring_transactions.info.title") %>

<%= t("recurring_transactions.info.manual_description") %>

<%= t("recurring_transactions.info.automatic_description") %>

    <% t("recurring_transactions.info.triggers").each do |trigger| %>
  • <%= trigger %>
  • <% end %>
<% if @recurring_transactions.empty? %>
<%= icon "repeat", size: "xl" %>

<%= t("recurring_transactions.empty.title") %>

<%= t("recurring_transactions.empty.description") %>

<%= render DS::Link.new( text: t("recurring_transactions.identify_patterns"), icon: "search", variant: "primary", href: identify_recurring_transactions_path, method: :post ) %>
<% else %>

<%= t("recurring_transactions.title") %>

·

<%= @recurring_transactions.count %>

<% @recurring_transactions.each do |recurring_transaction| %> "> <% end %>
<%= t("recurring_transactions.table.merchant") %> <%= t("recurring_transactions.table.amount") %> <%= t("recurring_transactions.table.expected_day") %> <%= t("recurring_transactions.table.next_date") %> <%= t("recurring_transactions.table.last_occurrence") %> <%= t("recurring_transactions.table.status") %> <%= t("recurring_transactions.table.actions") %>
<% if recurring_transaction.merchant.present? %> <% if recurring_transaction.merchant.logo_url.present? %> <%= image_tag recurring_transaction.merchant.logo_url, class: "w-6 h-6 rounded-full", loading: "lazy" %> <% else %> <%= render DS::FilledIcon.new( variant: :text, text: recurring_transaction.merchant.name, size: "sm", rounded: true ) %> <% end %> <%= recurring_transaction.merchant.name %> <% else %> <%= render DS::FilledIcon.new( variant: :text, text: recurring_transaction.name, size: "sm", rounded: true ) %> <%= recurring_transaction.name %> <% end %> <% if recurring_transaction.manual? %> <%= t("recurring_transactions.badges.manual") %> <% end %>
"> <% if recurring_transaction.manual? && recurring_transaction.has_amount_variance? %>
"> ~ <%= format_money(-recurring_transaction.expected_amount_avg_money) %>
<% else %> <%= format_money(-recurring_transaction.amount_money) %> <% end %>
<%= t("recurring_transactions.day_of_month", day: recurring_transaction.expected_day_of_month) %> <%= l(recurring_transaction.next_expected_date, format: :short) %> <%= l(recurring_transaction.last_occurrence_date, format: :short) %> <% if recurring_transaction.active? %> <%= t("recurring_transactions.status.active") %> <% else %> <%= t("recurring_transactions.status.inactive") %> <% end %>
<%= link_to toggle_status_recurring_transaction_path(recurring_transaction), data: { turbo_method: :post }, class: "text-secondary hover:text-primary" do %> <%= icon recurring_transaction.active? ? "pause" : "play", size: "sm" %> <% end %> <%= link_to recurring_transaction_path(recurring_transaction), data: { turbo_method: :delete, turbo_confirm: t("recurring_transactions.confirm_delete") }, class: "text-secondary hover:text-destructive" do %> <%= icon "trash-2", size: "sm" %> <% end %>
<% end %>
<% end %>