{% 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>

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

  {% if error.status === 'EXPIRED' %}
    <p>{{ error.userMessage }}</p>
    <a href={{refreshLink}}>Refresh this {{ params.type }}</a>
  {% else %}
    {{ dprErrorSummary(error, { 
      reportId:reportId, 
      variantId:variantId,
      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 %}
