{%- set assetPath = assetPath | default("/nhsuk/assets", true) -%}

{% extends "nhsuk/template.njk" %}

{%- from "nhsuk/components/action-link/macro.njk" import actionLink %}
{%- from "nhsuk/components/back-link/macro.njk" import backLink %}
{%- from "nhsuk/components/breadcrumb/macro.njk" import breadcrumb %}
{%- from "nhsuk/components/card/macro.njk" import card %}
{%- from "nhsuk/components/contents-list/macro.njk" import contentsList %}
{%- from "nhsuk/components/details/macro.njk" import details %}
{%- from "nhsuk/components/do-dont-list/macro.njk" import list %}
{%- from "nhsuk/components/error-message/macro.njk" import errorMessage %}
{%- from "nhsuk/components/error-summary/macro.njk" import errorSummary %}
{%- from "nhsuk/components/fieldset/macro.njk" import fieldset %}
{%- from "nhsuk/components/footer/macro.njk" import footer %}
{%- from "nhsuk/components/header/macro.njk" import header %}
{%- from "nhsuk/components/hero/macro.njk" import hero %}
{%- from "nhsuk/components/hint/macro.njk" import hint %}
{%- from "nhsuk/components/images/macro.njk" import image %}
{%- from "nhsuk/components/inset-text/macro.njk" import insetText %}
{%- from "nhsuk/components/label/macro.njk" import label %}
{%- from "nhsuk/components/notification-banner/macro.njk" import notificationBanner %}
{%- from "nhsuk/components/pagination/macro.njk" import pagination %}
{%- from "nhsuk/components/panel/macro.njk" import panel %}
{%- from "nhsuk/components/skip-link/macro.njk" import skipLink %}
{%- from "nhsuk/components/summary-list/macro.njk" import summaryList %}
{%- from "nhsuk/components/tabs/macro.njk" import tabs %}
{%- from "nhsuk/components/tables/macro.njk" import table %}
{%- from "nhsuk/components/tag/macro.njk" import tag %}
{%- from "nhsuk/components/task-list/macro.njk" import taskList %}
{%- from "nhsuk/components/warning-callout/macro.njk" import warningCallout %}

{%- from "x-nhsuk/decorated/button/macro.njk" import button with context %}
{%- from "x-nhsuk/decorated/character-count/macro.njk" import characterCount with context %}
{%- from "x-nhsuk/decorated/checkboxes/macro.njk" import checkboxes with context %}
{%- from "x-nhsuk/decorated/date-input/macro.njk" import dateInput with context %}
{%- from "x-nhsuk/decorated/file-upload/macro.njk" import fileUpload with context %}
{%- from "x-nhsuk/decorated/input/macro.njk" import input with context %}
{%- from "x-nhsuk/decorated/password-input/macro.njk" import passwordInput with context %}
{%- from "x-nhsuk/decorated/radios/macro.njk" import radios with context %}
{%- from "x-nhsuk/decorated/select/macro.njk" import select with context %}
{%- from "x-nhsuk/decorated/textarea/macro.njk" import textarea with context %}

{% block head %}
  <link rel="stylesheet" href="/assets/application.css" media="all">
  <script src="/assets/application.js" defer></script>
{% endblock %}

{% block pageTitle %}
  {{- "Error: " if error -}}
  {{- title + " - " if title -}}
  {{- serviceName + " - NHS.UK" -}}
{% endblock %}

{% block header %}
  {{ header({
    service: {
      text: serviceName,
      href: "/"
    }
  }) }}
{% endblock %}

{% block footer %}
  {{ footer({
    meta: {
      items: [
        {
          text: "Clear session data",
          href: "/clear-session-data"
        } if useAutoStoreData, {
          text: "Feature flags",
          href: "/feature-flags"
        }
      ]
    }
  }) }}
{% endblock %}

{% block bodyEnd %}
  {%- if data.validations %}
  <template id="nhsuk-error-summary-template">
    {{ errorSummary({
      classes: "nhsuk-u-width-two-thirds",
      titleText: "There is a problem"
    }) | indent(4) }}
  </template>
  <template id="nhsuk-error-message-template">
    {{ errorMessage() | indent(4) }}
  </template>
  <script src="/validate.js"></script>
  <script src="/form-validation.js"></script>
  <script type="application/json" id="form-validation">
    {{ data.validations | dump(2) | safe | indent(4) }}
  </script>
  {% endif -%}
  {%- if useAutoStoreData %}
  <script src="/auto-store-data.js"></script>
  {% endif -%}
  {%- if showLogs %}
  <script>console.log({{ data | dump | safe }});</script>
  {% endif -%}
{% endblock %}
