<%# locals: (entry:, balance_trend: nil, view_ctx: "global") %> <% transaction = entry.entryable %> <%= turbo_frame_tag dom_id(entry) do %> <%= turbo_frame_tag dom_id(transaction) do %>
">
<%= check_box_tag dom_id(entry, "selection"), disabled: transaction.transfer.present?, class: "checkbox checkbox--light hidden lg:block", data: { id: entry.id, "bulk-select-target": "row", action: "bulk-select#toggleRowSelection", checkbox_toggle_target: "selectionEntry" } %>
<%= content_tag :div, class: ["flex items-center gap-3 lg:gap-4"] do %>
<%= render "transactions/transaction_category", transaction: transaction %> <% if transaction.merchant&.logo_url.present? %> <%= image_tag transaction.merchant.logo_url, class: "w-5 h-5 rounded-full absolute -bottom-1 -right-1 border border-secondary pointer-events-none", loading: "lazy" %> <% end %>
<% if transaction.transfer? %> <%= link_to( entry.name, transaction.transfer.present? ? transfer_path(transaction.transfer) : entry_path(entry), data: { turbo_frame: "drawer", turbo_prefetch: false }, class: "hover:underline" ) %> <% else %> <%= link_to( entry.name, entry_path(entry), data: { turbo_frame: "drawer", turbo_prefetch: false }, class: "hover:underline" ) %> <% end %>
<% if transaction.one_time? %> (excluded from averages)"> <%= icon "asterisk", size: "sm", color: "current" %> <% end %> <%# Pending indicator %> <% if transaction.pending? %> <%= icon "clock", size: "sm", color: "current" %> <%= t("transactions.transaction.pending") %> <% end %> <%# Potential duplicate indicator - different styling for low vs medium confidence %> <% if transaction.has_potential_duplicate? %> <% if transaction.low_confidence_duplicate? %> <%= icon "help-circle", size: "sm", color: "current" %> <%= t("transactions.transaction.review_recommended") %> <% else %> <%= icon "alert-triangle", size: "sm", color: "current" %> <%= t("transactions.transaction.possible_duplicate") %> <% end %> <% end %> <% if transaction.transfer.present? %> <%= render "transactions/transfer_match", transaction: transaction %> <% end %>
<% if transaction.transfer? %> <%= transaction.loan_payment? ? t("transactions.show.loan_payment") : t("transactions.show.transfer") %> • <%= entry.account.name %> <% else %> <% if transaction.merchant&.present? %> <% end %>
<%= render "categories/category_name_mobile", transaction: transaction %> <% if transaction.merchant&.present? %> • <%= transaction.merchant.name %> <% end %>
<% end %>
<% end %>
<%= content_tag :p, transaction.transfer? && view_ctx == "global" ? "+/- #{format_money(entry.amount_money.abs)}" : format_money(-entry.amount_money), class: ["text-green-600": entry.amount.negative?] %>
<% end %> <% end %>