<%# locals: (category:, categories:) %>
<%= styled_form_with model: category, class: "space-y-4" do |f| %>
<%= render partial: "color_avatar", locals: { category: category } %>
<%= icon("pen", size: "sm") %>
">

Color

<% Category::COLORS.each do |color| %> <% end %>

Icon

<% Category.icon_codes.each do |icon| %> <% end %>
<% if category.errors.any? %> <%= render "shared/form_errors", model: category %> <% end %>
<%= f.select :classification, [["Income", "income"], ["Expense", "expense"]], { label: "Classification" }, required: true %> <%= f.text_field :name, placeholder: t(".placeholder"), required: true, autofocus: true, label: "Name", data: { color_avatar_target: "name" } %> <% unless category.parent? %> <%= f.select :parent_id, categories.pluck(:name, :id), { include_blank: "(unassigned)", label: "Parent category (optional)" }, disabled: category.parent?, data: { action: "change->category#handleParentChange" } %> <% end %>
<%= hidden_field_tag :transaction_id, params[:transaction_id] %> <%= f.submit %>
<% end %>