{% if MAY_2025_REBRAND_ENABLED %}
  {% set govukRebrand = true %}
{% endif %}

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

{% from "frontend-ui/build/components/phase-banner/macro.njk" import frontendUiPhaseBanner %}
{% from "frontend-ui/build/components/cookie-banner/macro.njk" import frontendUiCookieBanner %}
{% from "frontend-ui/build/components/header/macro.njk" import frontendUiHeader %}
{% from "frontend-ui/build/components/footer/macro.njk" import frontendUiFooter %}
{% from "frontend-ui/build/components/language-select/macro.njk" import frontendUiLanguageSelect %}
{% from "govuk/components/notification-banner/macro.njk" import govukNotificationBanner %}
{% from "frontend-analytics/components/ga4-opl/macro.njk" import ga4OnPageLoad %}

{% if makeFullWidth %}
  {% set columnWidth = "full" %}
{% else %}
  {% set columnWidth = 'two-thirds' %}
{% endif %}

{% block head %}
  <link href="/stylesheets/application.css" rel="stylesheet">
  <link href="/stylesheets/language-toggle.css" rel="stylesheet">
  <meta name="robots" content="noindex">

{% endblock %}

{% block pageTitle %}
  {% if pageTitleName %}
    {{ pageTitleName }}
        -
    {% endif %}
  {{ 'general.serviceNameTitle' | translate }}
{% endblock %}

{% block bodyStart %}
  {% block frontendUiCookieBanner %}
    {{ frontendUiCookieBanner({
    translations: translations.translation.cookieBanner
  }
  )}}
  {% endblock %}
{% endblock %}

{% block header %}
  {{ frontendUiHeader({
      translations: translations.translation.header,
      homepageUrl: "https://www.gov.uk"
    }) }}
{% endblock %}

{% block main %}
  <div class="govuk-width-container {{ containerClasses }}">
    {% if doNotShowPhaseBanner %}
    {% else %}
      {{ frontendUiPhaseBanner({
      translations: translations.translation.phaseBanner,
      url: currentUrl,
      contactUrl: supportFormLink,
      noAppend: true
    }) }}
    {% endif %}

    {% if showLanguageToggle %}
      {{ frontendUiLanguageSelect({
      translations: translations.translation.languageSelect,
      url: currentUrl,
      activeLanguage: htmlLang
    }) }}
    {% endif %}

    {% if showBack %}
      {{ govukBackLink({
            text: "Back",
            href: hrefBack
        }) }}
    {% endif %}
    {% if showBackLinkHtml %}
      <a href="#" id="back-button" class="govuk-back-link">{{'general.buttons.back' | translate}}</a>
    {% endif %}
    <main class="govuk-main-wrapper {{ mainClasses }} govuk-!-padding-top-2" id="main-content" role="main" >
      <div class="govuk-grid-row">
        <div class="govuk-grid-column-{{columnWidth}} {{ rowClasses }}">
          {% if (displayBanner) %}
            {{ govukNotificationBanner({
                        html: bannerMessage,
                        type: bannerType,
                        titleText: bannerTitleText
                    }) }}
          {% endif %}
          {% block content %}{% endblock %}
        </div>
      </div>
    </main>
  </div>
{% endblock %}

{% block footer %}
  {{ frontendUiFooter({
        translations: {
          footerNavItems: [
            {
              href: 'general.base.footer.accessibility.link' | translate | safe,
              text: 'general.base.footer.accessibility.linkText' | translate
            },
            {
              href: 'general.cookieBanner.viewCookiesLink' | translate,
              text: 'general.base.footer.cookies' | translate
            },
            {
              href: 'general.base.footer.termsAndConditions.link' | translate,
              text: 'general.base.footer.termsAndConditions.linkText' | translate,
              attributes: { "data-pw": "terms-and-conditions-link" }
            },
            {
              href: 'general.base.footer.privacy.link' | translate | safe,
              text: 'general.base.footer.privacy.linkText' | translate,
              attributes: { "data-pw": "privacy-notice-link" }
            },
            {
              href: supportFormLink,
              text: 'general.base.footer.support.linkText' | translate,
              attributes: {
                target: "_blank",
                rel: "noopener noreferrer",
                "data-pw": "footer-support-form-link"
              }
            }
          ],
          contentLicence: {
              html: 'general.base.footer.contentLicence.linkText' | translate | safe
          },
          copyright: {
              text: 'general.base.footer.copyright.linkText' | translate
          }
        }
    }) }}
{% endblock %}

{% block bodyEnd %}
  <script type="module" nonce='{{ scriptNonce }}' src="/public/scripts/govuk-frontend.min.js"></script>
  <script type="module" nonce='{{ scriptNonce }}'>
    import {initAll} from '/public/scripts/govuk-frontend.min.js'
    initAll()
  </script>
  <script type="text/javascript" src="/public/scripts/application.js"></script>
  <script type="text/javascript" src="/public/scripts/analytics.js" nonce='{{scriptNonce}}'></script>
  <script type="text/javascript" nonce='{{scriptNonce}}'>
    window.DI = window.DI || {};
    window.DI.taxonomy_level2 = '{{taxonomy_level2}}'
  </script>
  <script type="text/javascript" {% if scriptNonce %} nonce="{{ scriptNonce }}"{%  endif %}>
    {% if analyticsDataSensitive is defined and isPageDataSensitive is defined %}
      window
        .DI
        .appInit({
          ga4ContainerId: "{{ga4ContainerId}}",
        }, {
          isDataSensitive: {{ analyticsDataSensitive | default(true) }},
          isPageDataSensitive: {{ isPageDataSensitive | default(true) }},
          enableGa4Tracking: {{ isGa4Enabled | default(false) }},
          cookieDomain: "{{analyticsCookieDomain}}"
        });
    {% else %}
      console.log("Using deprecated GA4 v2 config. Please add analyticsDataSensitive and isPageDataSensitive flags to your nunjucks environment to enable GA4 v4. This will be removed in a future version.");
      window
        .DI
        .appInit({
          ga4ContainerId: "{{ga4ContainerId}}",
          uaContainerId: "{{uaContainerId}}"
        }, {
          isDataSensitive: false,
          disableGa4Tracking: {{isGa4Disabled}},
          disableUaTracking: {{isUaDisabled}},
          cookieDomain: "{{analyticsCookieDomain}}"
        });
    {% endif %}
  </script>
  <script type="text/javascript" nonce='{{scriptNonce}}'>
    if (document.getElementById('back-button'))
      document
        .getElementById('back-button')
        .addEventListener('click', (e) => {
          e.preventDefault();
          window
            .history
            .back()
        })
  </script>

  <script type="module" nonce="{{scriptNonce}}">
    import {setFingerprintCookie} from "/public/scripts/index.js";
    await setFingerprintCookie("{{analyticsCookieDomain}}");
  </script>
{% endblock %}
