<% entry, transaction, account = @entry, @entry.account_transaction, @entry.account %> <%= drawer do %>

<%= format_money -entry.amount_money %> <%= entry.currency %>

<% if entry.marked_as_transfer? %> <%= lucide_icon "arrow-left-right", class: "text-gray-500 mt-1 w-5 h-5" %> <% end %>
<%= entry.date.strftime("%A %d %B") %>

<%= t(".overview") %>

<%= lucide_icon "chevron-down", class: "group-open:transform group-open:rotate-180 text-gray-500 w-5" %>
<%= styled_form_with model: [account, entry], url: account_transaction_path(account, entry), class: "space-y-2", data: { controller: "auto-submit-form" } do |f| %> <%= f.text_field :name, label: t(".name_label"), "data-auto-submit-form-target": "auto" %> <% unless entry.marked_as_transfer? %>
<%= f.select :nature, [["Expense", "expense"], ["Income", "income"]], { label: t(".nature"), selected: entry.amount.negative? ? "income" : "expense" }, "data-auto-submit-form-target": "auto" %>
<%= f.number_field :amount, value: entry.amount.abs, label: t(".amount"), step: "0.01", "data-auto-submit-form-target": "auto", "data-autosubmit-trigger-event": "change" %>
<% end %> <%= f.date_field :date, label: t(".date_label"), max: Date.current, "data-auto-submit-form-target": "auto" %> <%= f.fields_for :entryable do |ef| %> <% unless entry.marked_as_transfer? %> <%= ef.collection_select :category_id, Current.family.categories.alphabetically, :id, :name, { prompt: t(".category_placeholder"), label: t(".category_label"), class: "text-gray-400" }, "data-auto-submit-form-target": "auto" %> <%= ef.collection_select :merchant_id, Current.family.merchants.alphabetically, :id, :name, { prompt: t(".merchant_placeholder"), label: t(".merchant_label"), class: "text-gray-400" }, "data-auto-submit-form-target": "auto" %> <% end %> <% end %> <%= f.collection_select :account_id, Current.family.accounts.alphabetically, :id, :name, { prompt: t(".account_placeholder"), label: t(".account_label"), class: "text-gray-500" }, { class: "form-field__input cursor-not-allowed text-gray-400", disabled: "disabled" } %> <% end %>

<%= t(".additional") %>

<%= lucide_icon "chevron-down", class: "group-open:transform group-open:rotate-180 text-gray-500 w-5" %>
<%= styled_form_with model: [account, entry], url: account_transaction_path(account, entry), class: "space-y-2", data: { controller: "auto-submit-form" } do |f| %> <%= f.fields_for :entryable do |ef| %> <%= ef.select :tag_ids, options_for_select(Current.family.tags.alphabetically.pluck(:name, :id), transaction.tag_ids), { multiple: true, label: t(".tags_label"), class: "placeholder:text-gray-500" }, "data-auto-submit-form-target": "auto" %> <%= ef.text_area :notes, label: t(".note_label"), placeholder: t(".note_placeholder"), "data-auto-submit-form-target": "auto" %> <% end %> <% end %>

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

<%= lucide_icon "chevron-down", class: "group-open:transform group-open:rotate-180 text-gray-500 w-5" %>
<%= styled_form_with model: [account, entry], url: account_transaction_path(account, entry), class: "p-3 space-y-3", data: { controller: "auto-submit-form" } do |f| %> <%= f.fields_for :entryable do |ef| %>

<%= t(".exclude_title") %>

<%= t(".exclude_subtitle") %>

<%= ef.check_box :excluded, class: "sr-only peer", "data-auto-submit-form-target": "auto" %>
<% end %> <% end %> <% unless entry.marked_as_transfer? %>

<%= t(".delete_title") %>

<%= t(".delete_subtitle") %>

<%= button_to t(".delete"), account_entry_path(account, entry), method: :delete, class: "rounded-lg px-3 py-2 text-red-500 text-sm font-medium border border-alpha-black-200", data: { turbo_confirm: true, turbo_frame: "_top" } %>
<% end %>
<% end %>