<div>
  <h2 class="mb-8 text-center title text-xl text-primary-600">
    <%= @title %>
  </h2>

  <.form
    let={f}
    for={@changeset}
    id="ammo_group-form"
    phx-target={@myself}
    phx-change="validate"
    phx-submit="save"
    class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
  >
    <%= if @changeset.action && not @changeset.valid? do %>
      <div class="invalid-feedback col-span-3 text-center">
        <%= changeset_errors(@changeset) %>
      </div>
    <% end %>

    <%= label(f, :ammo_type_id, gettext("Ammo type"), class: "title text-lg text-primary-600") %>
    <%= select(f, :ammo_type_id, ammo_type_options(@ammo_types),
      class: "text-center col-span-2 input input-primary"
    ) %>
    <%= error_tag(f, :ammo_type_id, "col-span-3 text-center") %>

    <%= label(f, :count, gettext("Count"), class: "title text-lg text-primary-600") %>
    <%= number_input(f, :count,
      class: "text-center col-span-2 input input-primary",
      min: 0
    ) %>
    <%= error_tag(f, :count, "col-span-3 text-center") %>

    <%= label(f, :price_paid, gettext("Price paid"), class: "title text-lg text-primary-600") %>
    <%= number_input(f, :price_paid,
      step: 0.01,
      class: "text-center col-span-2 input input-primary"
    ) %>
    <%= error_tag(f, :price_paid, "col-span-3 text-center") %>

    <%= label(f, :notes, gettext("Notes"), class: "title text-lg text-primary-600") %>
    <%= textarea(f, :notes,
      class: "text-center col-span-2 input input-primary",
      phx_hook: "MaintainAttrs"
    ) %>
    <%= error_tag(f, :notes, "col-span-3 text-center") %>

    <%= label(f, :container, gettext("Container"), class: "title text-lg text-primary-600") %>
    <%= select(f, :container_id, container_options(@containers),
      class: "text-center col-span-2 input input-primary"
    ) %>
    <%= error_tag(f, :container_id, "col-span-3 text-center") %>

    <%= case @action do %>
      <% :new -> %>
        <hr class="hr col-span-3" />

        <%= label(f, :multiplier, gettext("Copies"), class: "title text-lg text-primary-600") %>
        <%= number_input(f, :multiplier,
          max: @ammo_group_create_limit,
          class: "text-center input input-primary",
          value: 1,
          phx_update: "ignore"
        ) %>

        <%= submit(dgettext("actions", "Create"),
          phx_disable_with: dgettext("prompts", "Creating..."),
          class: "mx-auto btn btn-primary"
        ) %>

        <%= error_tag(f, :multiplier, "col-span-3 text-center") %>
      <% :edit -> %>
        <%= submit(dgettext("actions", "Save"),
          phx_disable_with: dgettext("prompts", "Saving..."),
          class: "mx-auto col-span-3 btn btn-primary"
        ) %>
    <% end %>
  </.form>
</div>
