%= render DS::Dialog.new(variant: "modal") do |dialog| %>
<% dialog.with_header do %>
<%= @entry.name %>
<%= @entry.date.strftime("%b %d, %Y") %>
<% if (category = @entry.entryable.try(:category)) %>
·
<%= icon category.lucide_icon, size: "xs", color: "current" %>
<%= category.name %>
<% end %>
<%= t("splits.new.original_amount") %>
<%= format_money(-@entry.amount_money) %>
<% end %>
<% dialog.with_body do %>
<%= form_with(
url: transaction_split_path(@entry),
method: :patch,
scope: :split,
class: "space-y-3",
data: {
controller: "split-transaction",
split_transaction_total_value: (-@entry.amount).to_f,
split_transaction_currency_value: @entry.currency,
turbo_frame: :_top
}
) do %>
<%# Split rows pre-filled from existing children %>
<%= t("splits.new.remaining") %>
<%= (-@entry.amount).to_f %>
<%= t("splits.new.amounts_must_match") %>
<%# Actions %>
<%= render DS::Button.new(
text: t("splits.new.cancel"),
variant: "outline",
type: "button",
data: { action: "click->DS--dialog#close" }
) %>
<%= render DS::Button.new(
text: t("splits.edit.submit"),
variant: "primary",
type: "submit",
data: { split_transaction_target: "submitButton" }
) %>
<% end %>
<% end %>
<% end %>