{% extends "information-page.njk" %}
{% import "applications-text.njk" as applicationAndLicenceStatusText %}
{% from "govuk/components/notification-banner/macro.njk" import govukNotificationBanner %}
{% from "govuk/components/button/macro.njk" import govukButton %}
{% from "govuk/components/table/macro.njk" import govukTable %}

{% set widthClass = 'govuk-grid-column-full' %}
{% set title = 'View licence applications' %}

{% set html %}
  <h3 class="govuk-notification-banner__heading">
    Application saved
  </h3>
  <p class="govuk-body">Return to an existing application by selecting it from your list of licence applications.</p>
{% endset %}

{% block pageContent %}
<div hidden class="govuk-grid-row">
  <div class="govuk-grid-column-two-thirds">
    {{ govukNotificationBanner({
      html: html,
      type: 'success'
    }) }}
  </div>
</div>

{{ govukButton({
  text: 'New application',
  href: _uri.species
}) }}

{% macro applicationReferenceHtml(application) %}
    <p class="govuk-body govuk-!-font-weight-bold govuk-!-margin-top-4">
        {% if application.licences.length and data.applicationStatuses[application.statusCode] === 'GRANTED' %}
            <a href="{{_uri.applicationLicence}}?licenceId={{application.licences[0].id}}&applicationId={{application.id}}" class="govuk-link govuk-link--no-visited-state">Badger mitigation</a>
        {% elif application.userSubmission %}
            <a href="{{_uri.applicationSummary}}?applicationId={{application.id}}" class="govuk-link govuk-link--no-visited-state">Badger mitigation</a>
        {% else %}
            <a href="{{_uri.taskList}}?applicationId={{application.id}}" class="govuk-link govuk-link--no-visited-state">Badger mitigation</a>
        {% endif %}
    </p>
{% endmacro -%}

{% macro getSiteName(application) %}
  {% if application.site %}
    <p>{{ application.site.name }} </p>
  {% else %}
    <p></p>
  {% endif %}
{% endmacro -%}

{% macro statusHtml(application) %}
    {% if application.userSubmission and application.licences.length and data.applicationStatuses[application.statusCode] === 'GRANTED' %}
        {{ applicationAndLicenceStatusText.getLicenceStatus(application.licences[0].statusCode, data.licenceStatuses) }}
    {% elif application.userSubmission %}
        {{ applicationAndLicenceStatusText.getApplicationStatus(application.statusCode, data.applicationStatuses) }}
    {% else %}
        <strong class="govuk-tag govuk-tag--blue govuk-!-margin-top-4">IN PROGRESS</strong>
    {% endif %}
{% endmacro -%}

{% macro getReferenceNumber(application) %}
{% if data.applicationStatuses[application.statusCode] === 'GRANTED' and application.licences.length %}
  {% for licence in application.licences %}
    <p>{{ licence.licenceNumber }}</p>
  {% endfor %}
{% else %}
  <p>{{ application.applicationReferenceNumber }}</p>
{% endif %}
{% endmacro -%}



{% set tableRows = [] %}

{% for application in data.applications %}
    <div hidden>
        {{ tableRows.push([
            { html: applicationReferenceHtml(application) },
            { html: getSiteName(application) },
            { html: getReferenceNumber(application) },
            { html: statusHtml(application) }])
         }}
     </div>
{% endfor %}

{% if tableRows.length %}
    {{ govukTable({
      captionClasses: "govuk-table__caption--m",
      firstCellIsHeader: true,
      head: [
        {
          text: "Application",
          colspan: 1
        },
        {
          text: "Site",
          colspan: 1
        },
        {
          text: "Reference",
          colspan: 1
        },
        {
          text: "Status",
          colspan: 1
        }
      ],
      rows: tableRows
    }) }}
{% endif %}

{% endblock %}
