<% require_phone_2fa = @template.preferences['require_phone_2fa'] == true %>
<% require_email_2fa = @template.preferences['require_email_2fa'] == true %>
<% prefillable_fields = @template.fields.select { |f| f['prefillable'] } %>
<% default_tab = cookies.permanent[:add_recipients_tab].presence || 'email' %>
<% recipient_form_fields = Accounts.load_recipient_form_fields(current_account) if prefillable_fields.blank? %>
<% only_detailed = require_phone_2fa || require_email_2fa || prefillable_fields.present? || recipient_form_fields.present? %>
<% with_list = @template.variables_schema.blank? %>
<% variables_form = render 'variables_form', schema: @template.variables_schema if @template.variables_schema.present? && @template.variables_schema.any? { |_, v| !v['disabled'] } %>
<%= render 'shared/turbo_modal_large', title: params[:selfsign] ? t('add_recipients') : t('add_new_recipients') do %>
  <% options = [only_detailed ? nil : [t('via_email'), 'email'], only_detailed ? nil : [t('via_phone'), 'phone'], [t('detailed'), 'detailed'], with_list ? [t('upload_list'), 'list'] : nil].compact %>
  <% if options.size > 1 %>
    <toggle-visible data-element-ids="<%= options.map(&:last).to_json %>" class="relative text-center px-2 mt-4 block">
      <div class="flex justify-center">
        <% options.each_with_index do |(label, value), index| %>
          <%= content_tag(value == 'list' ? 'span' : 'toggle-cookies', data: { value:, key: 'add_recipients_tab' }) do %>
            <%= radio_button_tag 'option', value, value == (only_detailed ? 'detailed' : default_tab), class: 'peer hidden', data: { action: 'change:toggle-visible#trigger' } %>
            <label for="option_<%= value %>" class="block bg-base-200 md:min-w-[112px] text-sm font-semibold whitespace-nowrap py-1.5 px-4 peer-checked:bg-base-300 <%= 'hidden sm:inline-block' if value == 'list' %> <%= 'rounded-l-3xl' if index.zero? %> <%= 'rounded-r-3xl sm:rounded-r-none' if value == 'detailed' && index != options.size - 1 %> <%= 'rounded-r-3xl' if index == options.size - 1 %>">
              <%= label %>
            </label>
          <% end %>
        <% end %>
      </div>
    </toggle-visible>
  <% end %>
  <div class="px-5 mb-5 mt-4">
    <% unless only_detailed %>
      <div id="email" class="<%= 'hidden' if default_tab != 'email' %>">
        <%= render 'email_form', template: @template, variables_form: %>
      </div>
      <div id="phone" class="<%= 'hidden' if default_tab != 'phone' %>">
        <%= render 'phone_form', template: @template, variables_form: %>
      </div>
    <% end %>
    <div id="detailed" class="<%= 'hidden' if !only_detailed && default_tab != 'detailed' %>">
      <%= render 'detailed_form', template: @template, require_phone_2fa:, require_email_2fa:, prefillable_fields:, recipient_form_fields:, variables_form: %>
    </div>
    <% if with_list %>
      <div id="list" class="hidden">
        <%= render 'list_form', template: @template %>
      </div>
    <% end %>
    <%= render 'submissions/error' %>
  </div>
  <%= content_for(:modal_extra) %>
<% end %>
