{% from "govuk/components/header/macro.njk" import govukHeader -%}
{% from "govuk/components/service-navigation/macro.njk" import govukServiceNavigation %}

{% set user_logged_in = true if params.role else false %}
{% set users_role = params.role|default(none) %}

{% set isAdmin = params.isAdmin | default(false) %}

{% if isAdmin %}
  {% set adminAppClass = 'dm-admin-header govuk-header--full-width-border' %}
  {% set productName = 'Digital Marketplace Admin' %}
{% else %}
  {% set adminAppClass = 'govuk-header--full-width-border' %}
  {% set productName = 'Digital Marketplace' %}
{% endif %}

{% if user_logged_in %}

  {% if users_role in['buyer', 'supplier'] %}
    {% set headerNavigation = [
      {
        'text': 'Guidance',
        'href': 'https://www.gov.uk/guidance/buying-and-selling-on-the-digital-marketplace'
      },
      {
        'text': 'View your account',
        'href': ('external.' + users_role + '_dashboard') | urlFor,
        'active': params.active == ('external.' + users_role + '_dashboard') | urlFor
      },
      {
        'text': 'Log out',
        'href': 'external.user_logout' | urlFor,
        'active': params.active == 'external.user_logout' | urlFor
      }
    ]%}
  {% else %}
    {# Any other role #}
    {% set headerNavigation = [
      {
        'text': 'Guidance',
        'href': 'https://www.gov.uk/guidance/buying-and-selling-on-the-digital-marketplace'
      },
      {
        'text': 'Log out',
        'href': 'external.user_logout' | urlFor,
        'active': params.active == 'external.user_logout' | urlFor
      }
    ]%}
  {% endif %}
{% else %}
  {% set headerNavigation = [
    {
      'text': 'Guidance',
      'href': 'https://www.gov.uk/guidance/buying-and-selling-on-the-digital-marketplace'
    },
    {
      'text': 'Log in',
      'href': 'external.render_login' | urlFor,
      'active': params.active == 'external.render_login' | urlFor
    }
  ]%}
{% endif %}
{{ govukHeader({
  'assetsPath': '/static/images',
  'classes': adminAppClass
}) }}
{{ govukServiceNavigation({
  'navigation': headerNavigation,
  'serviceName': productName,
  'serviceUrl': '/'
}) }}
