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

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

    <%= label(f, :count, gettext("Shots fired"), class: "title text-lg text-primary-600") %>
    <%= number_input(f, :count,
      min: 1,
      max: @shot_group.count + @pack.count,
      class: "input input-primary col-span-2"
    ) %>
    <%= error_tag(f, :count, "col-span-3") %>

    <%= label(f, :notes, gettext("Notes"), class: "title text-lg text-primary-600") %>
    <%= textarea(f, :notes,
      id: "shot-group-form-notes",
      class: "input input-primary col-span-2",
      maxlength: 255,
      placeholder: gettext("Really great weather"),
      phx_hook: "MaintainAttrs",
      phx_update: "ignore"
    ) %>
    <%= error_tag(f, :notes, "col-span-3") %>

    <%= label(f, :date, gettext("Date"), class: "title text-lg text-primary-600") %>
    <%= date_input(f, :date, class: "input input-primary col-span-2") %>
    <%= error_tag(f, :notes, "col-span-3") %>

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