{# Base template for (almost) all NetBox pages #}
{% load static %}
{% load helpers %}
{% load i18n %}
{% load django_htmx %}
{% load plugins %}
<!DOCTYPE html>
<html
  lang="en"
  data-netbox-url-name="{{ request.resolver_match.url_name }}"
  data-netbox-version="{{ settings.VERSION }}"
  {% if request.user.is_authenticated %}
    data-netbox-user-name="{{ request.user.username }}"
    data-netbox-user-id="{{ request.user.pk }}"
  {% endif %}
  >
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="initial-scale=1, maximum-scale=5, width=device-width, viewport-fit=cover" />
    <meta name="htmx-config" content='{"scrollBehavior": "auto"}'>
    <meta name="hostname" content="{{ settings.HOSTNAME }}" />

    {# Page title #}
    <title>{% block title %}{% trans "Home" %}{% endblock %} | NetBox</title>

    {# Initialize color mode #}
    <script
      type="text/javascript"
      src="{% static_with_params 'setmode.js' v=settings.RELEASE.version %}"
      onerror="window.location='{% url 'media_failure' %}?filename=setmode.js'">
    </script>
    <script type="text/javascript">
      (function () {
        initMode()
      })();
      window.CSRF_TOKEN = "{{ csrf_token }}";
    </script>

    {# Static resources #}
    <link
      rel="stylesheet"
      href="{% static_with_params 'netbox-external.css' v=settings.RELEASE.version %}"
      onerror="window.location='{% url 'media_failure' %}?filename=netbox-external.css'"
    />
    <link
      rel="stylesheet"
      href="{% static_with_params 'netbox.css' v=settings.RELEASE.version %}"
      onerror="window.location='{% url 'media_failure' %}?filename=netbox.css'"
    />
    <link rel="icon" type="image/png" href="{% static 'netbox.ico' %}" />
    <link rel="apple-touch-icon" type="image/png" href="{% static 'netbox_touch-icon-180.png' %}" />

    {# Javascript #}
    <script
      type="text/javascript"
      src="{% static_with_params 'netbox.js' v=settings.RELEASE.version %}"
      onerror="window.location='{% url 'media_failure' %}?filename=netbox.js'">
    </script>
    {% django_htmx_script %}

    {# Additional <head> content #}
    {% block head %}{% endblock %}
    {% plugin_head %}

  </head>
  <body>

    {# Page layout #}
    {% block layout %}{% endblock %}

    {# Additional Javascript #}
    {% if copilot_enabled and request.user.is_authenticated %}
      <script src="{{ settings.NETBOX_COPILOT_URL }}" defer></script>
    {% endif %}
    {% block javascript %}{% endblock %}

    {# User messages #}
    {% include 'inc/messages.html' %}

  </body>
</html>
