{% extends "layout.njk" %}

{% from "fieldset/macro.njk" import govukFieldset %}
{% from "button/macro.njk" import govukButton %}
{% from "error-summary.njk" import errorSummary %}
{% from "input/macro.njk" import govukInput %}
{% from "page-title.njk" import pageTitle %}

{% set title = mssgs.address_lookup_title_you if data.isLicenceForYou else mssgs.address_lookup_title_other %}
{% block pageTitle %}{{ pageTitle(title, error, mssgs) }}{% endblock %}

{% set errorMap = {
        'premises': {
            'string.empty': { ref: '#premises', text: mssgs.address_lookup_error_empty_name_num },
            'string.max': { ref: '#premises', text: mssgs.address_lookup_error_max_name_num }
        },
        'postcode': {
            'string.empty': { ref: '#postcode', text: mssgs.address_lookup_error_empty_postcode },
            'string.pattern.base': { ref: '#postcode', text: mssgs.address_lookup_error_pattern_postcode }
        }
    }
%}

{% block content %}
<div class="govuk-grid-row">
    <div class="govuk-grid-column-two-thirds">
        {{ errorSummary(error, errorMap, mssgs.there_is_a_problem) }}
        <form method="post">

            {% call govukFieldset({
              describedBy: "premises-hint postcode-hint",
              legend: {
                text: title,
                classes: "govuk-fieldset__legend--l govuk-!-margin-bottom-3",
                isPageHeading: true
              }
            }) %}

                <p class="govuk-body-m">
                    {{ mssgs.address_lookup_content_info }}
                </p>

                {{ govukInput({
                  label: {
                    text: mssgs.address_lookup_name_num_label
                  },
                  id: "premises",
                  name: "premises",
                  hint: { text: mssgs.address_lookup_name_num_hint },
                  value: payload['premises'],
                  classes: "govuk-input--width-20",
                  attributes: { maxlength: 50 },
                  errorMessage: { text: mssgs.address_lookup_error_empty_name_num } if error['premises']
                }) }}

                {{ govukInput({
                  label: {
                    text: mssgs.address_lookup_postcode_label
                  },
                  id: "postcode",
                  name: "postcode",
                  hint: { text: mssgs.address_lookup_postcode_hint },
                  value: payload['postcode'],
                  autocomplete: 'postal-code',
                  classes: "govuk-input--width-20",
                  attributes: { maxlength: 10 },
                  errorMessage: { text: mssgs.address_lookup_error_empty_postcode } if error['postcode']
                }) }}

            {% endcall %}

            {{ govukButton({
                attributes: { id: 'continue' },
                preventDoubleClick: true,
                name: "continue",
                text: mssgs.continue,
                classes: "govuk-!-margin-top-5"
            }) }}

            <p class="govuk-body-m">
                <a class="govuk-link" href="{{ data.uri.entryPage }}">{{ mssgs.address_lookup_manually_enter_you if data.isLicenceForYou else mssgs.address_lookup_manually_enter_other }}</a>
            </p>
            {{ csrf() }}
        </form>
    </div>
</div>
{% endblock %}
