<%= form_with(model: [:account, (@team unless invitation.persisted?), invitation], class: 'form', local: true) do |form| %>
  <%= render "shared/limits/form", form: form, model: invitation.membership, cancel_path: @cancel_path || [:account, invitation] do %>
    <%= render 'account/shared/forms/errors', form: form %>

    <%= render 'shared/fields/email_field', form: form, method: :email, options: {autofocus: true} %>

    <%= form.fields_for :membership do |membership_form| %>
      <div class="grid grid-cols-1 gap-y gap-x sm:grid-cols-6">
        <div class="sm:col-span-3">
          <%= render 'shared/fields/text_field', form: membership_form, method: :user_first_name %>
        </div>

        <div class="sm:col-span-3">
          <%= render 'shared/fields/text_field', form: membership_form, method: :user_last_name %>
        </div>
      </div>
    <% end %>

    <% if can? :manage, @team %>
      <%= form.fields_for :membership do |fields| %>
        <%= fields.hidden_field :team_id, value: @team.id %>
        <div class="space-y-3">
          <% Membership.assignable_roles.each do |role| %>
            <% if current_membership.can_manage_role?(role) %>
              <div class="flex items-top">
                <%= fields.check_box :role_ids, {multiple: true, class: "h-4 w-4 text-blue focus:ring-blue-dark border-slate-300 rounded mt-0.5"}, role.id, nil %>
                <label for="invitation_membership_attributes_role_ids_<%= role.id %>" class="ml-2 block select-none">
                  <span><%= t('invitations.form.invite_as', role_key: t("memberships.fields.role_ids.options.#{role.key}.label")) %></span>
                  <div class="mt-0.5 text-slate-400 font-light leading-normal">
                    <%= t("memberships.fields.role_ids.options.#{role.key}.description") %>
                  </div>
                </label>
              </div>
            <% end %>
          <% end %>
        </div>
      <% end %>
    <% end %>

    <%# 🚅 super scaffolding will insert new fields above this line. %>

    <div class="buttons">
      <%= form.submit (form.object.persisted? ? t('.buttons.update') : t('.buttons.create')), class: "button" %>
      <% if form.object.persisted? %>
      <%= link_to t('global.buttons.cancel'), account_invitation_path(invitation), class: "button-secondary" %>
      <% else %>
      <%= link_to t('global.buttons.cancel'), @cancel_path || account_team_invitations_path(@team), class: "button-secondary" %>
      <% end %>
    </div>
  <% end %>
<% end %>