{#
SPDX-License-Identifier: GPL-3.0-or-later OR CC-BY-SA-4.0

Proxy web UI item view page template.

This file is part of Hydrilla&Haketilo.

Copyright (C) 2022 Wojtek Kosior

Dual licensed under
* GNU General Public License v3.0 or later and
* Creative Commons Attribution Share Alike 4.0 International.

You can choose to use either of these licenses or both.


I, Wojtek Kosior, thereby promise not to sue for violation of this
file's licenses. Although I request that you do not make use of this
code in a proprietary work, I am not going to enforce this in court.
#}
{% extends "base.html.jinja" %}

{% macro version_with_repo(info) -%}
  {{ info.info.version_string }}
  {%- if not info.is_local %}
    @
    {{ info.info.repo }}
  {%- endif %}
{%- endmacro %}

{% block style %}
  {{ super() }}

  {% include 'include/item_list_style.css.jinja' %}

  .textcolor-gray {
      color: #777;
  }
{% endblock %}

{% block main %}
  {% block top_errors %}
    {% if file_installation_error is defined %}
      {{ error_note(_('web_ui.err.file_installation_error')) }}
    {% endif %}

    {% if impossible_situation_error is defined %}
      {{ error_note(_('web_ui.err.impossible_situation_error')) }}
    {% endif %}

    {% if repo_communication_error is defined %}
      {{ error_note(_('web_ui.err.repo_communication_error')) }}
    {% endif %}
  {% endblock top_errors %}

  {% block main_info %}
    <h3>{% block heading required %}{% endblock %}</h3>
  {% endblock %}

  {%
    if display_info.all_versions|length > 1 or
       (display_info.all_versions|length == 1 and
        (version_display_info is not defined or
         version_display_info.ref != display_info.all_versions[0].ref))
  %}
    <div class="horizontal-separator"></div>

    <h4>
      {% block version_list_heading required %}
      {% endblock %}
    </h4>

    <ul class="item-list">
      {% for info in display_info.all_versions %}
        {%
          if version_display_info is not defined or
              version_display_info.ref != info.ref
        %}
          {% set entry_classes = [] %}

          {% if info.is_orphan or info.is_local %}
            {% do entry_classes.append('textcolor-gray') %}
          {% endif %}

          {% if info.active == ActiveStatus.REQUIRED %}
            {% do entry_classes.append('entry-line-blue') %}
            {%
              if display_info.type != ItemType.MAPPING or
                  display_info.enabled != EnabledStatus.ENABLED
            %}
              {% do entry_classes.append('entry-line-dashed') %}
            {% endif %}
          {% elif info.active == ActiveStatus.AUTO %}
            {% do entry_classes.append('entry-line-green') %}
          {% endif %}

          <li class="{{ entry_classes|join(' ') }}">
            {%
              set href = url_for(
                  '.show_{}_version'.format(info.type.alt_name),
                  item_version_id = info.ref.id
              )
            %}
            <a href="{{ href }}">
              <div> {{ version_with_repo(info) }} </div>
            </a>
          </li>
        {% endif %}
      {% endfor %}
    </ul>
  {% endif %}{# display_info.all_versions|length > 0 #}
{% endblock main %}
