{% extends layoutPath %}
{% from "govuk/components/button/macro.njk" import govukButton %}
{% from "govuk/components/error-summary/macro.njk" import govukErrorSummary %}
{% from "../../../components/_async/request-status-tag/view.njk" import dprRequestStatusTag %}
{% from "../../../components/_async/request-details/view.njk" import dprRequestDetails %}
{% from "../../../components/error-summary/view.njk" import dprErrorSummary %}

{% set mainClasses = "app-container govuk-body" %}

{% block content %}
  <h1>{{ title }}</h1>

  {% if error.status %}
    <p>Status: {{ dprRequestStatusTag(error.status) }}</p>
  {% endif %}

  {% if error.status === 'EXPIRED' %}
    <p>{{ error.userMessage }}</p>
    <a href="{{ refreshLink }}">Refresh this {{ params.type }}</a>
  {% else %}
    {{
      dprErrorSummary(error, {
        reportId: reportId,
        variantId: id,
        executionId: executionId,
        tableId: tableId
      })
    }}
  {% endif %}


  {% set filtersHtml %}
    {% if filters.length %}
      <ul>
        {% for filter in filters %}
          <li class="govuk-body govuk-!-margin-bottom-1">{{ filter.name }}: {{ filter.value }}</li>
        {% endfor %}
      </ul>
    {% endif %}
  {% endset %}

  {% if reportName %}
    {{
      dprRequestDetails({
        reportName:reportName,
        variantName:variantName,
        description:description,
        filtersHtml:filtersHtml
      })
    }}
  {% endif %}

  {% if retry %}
    {{
      govukButton({
        id: "retry-async-request",
        text: "Retry",
        classes: "govuk-button govuk-!-margin-top-5",
        href: href
      })
    }}
  {% endif %}
{% endblock %}
