{% from "govuk/components/button/macro.njk" import govukButton %}
{% from "govuk/components/fieldset/macro.njk" import govukFieldset %}

{% from "../compliance-communication-attachment-row/macro.njk" import digitalmarketplaceComplianceCommunicationAttachmentRow %}

{% set number_of_attachments = params.form.attachments | length %}

{% call govukFieldset({
  legend: {
    text: "Add an attachment",
    classes: "govuk-fieldset__legend--m"
  },
  attributes: {
    "data-module": "dm-compliance-communication-attachments",
    "data-max-number-of-attachments": number_of_attachments
  }
}) %}
  <div class="dm-compliance-communication-attachments--hint">
    {% if params.hint %}
      {{ params.hint.html | safe | trim | indent(2) if params.hint.html else params.hint.text }}
    {% else %}
      <p class="govuk-caption-m">You can add up to {{ number_of_attachments }} attachments</p>
    {% endif %}
  </div>

  <div class="govuk-visually-hidden dm-compliance-communication__attachments-item-template">
    {{ digitalmarketplaceComplianceCommunicationAttachmentRow({
      attachment: {
        file: {
          name: "attachments-99-file",
          question: params.form.attachments[0].file.question,
          hint: params.form.attachments[0].file.hint
        },
        required: {
          name: "attachments-99-required",
          question: params.form.attachments[0].required.question,
          data: None
        },
        hidden_tag: params.form.attachments[0].hidden_tag
      },
      index: 99,
      template: true
    }) }}
  </div>

  <div class="dm-compliance-communication__attachments-items">
    {% for attachment in params.form.attachments %}
      {{ digitalmarketplaceComplianceCommunicationAttachmentRow({
        attachment: attachment,
        index: loop.index - 1
      }) }}
    {% endfor %}
  </div>

  {{ govukButton({
    html: 'Add attachment (<span class="dm-compliance-communication__attachments__js-remaining-counter">0</span> remaining)',
    classes: "govuk-button--secondary dm-compliance-communication__attachments-add govuk-visually-hidden",
    type: "button",
    attributes: {
      tabindex: "-1"
    }
  }) }}
{% endcall %}
