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

Proxy web UI base page template of htk.mitm.it meta-site.

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 "web_ui_base.html.jinja" %}

{% set settings = get_settings() %}

{% block style %}
  {{ super() }}
  ul#nav {
      -moz-user-select: none;
      user-select: none;
      display: flex;
      justify-content: stretch;
      white-space: nowrap;
      background-color: #e0e0e0;
      margin: 0;
      padding: 0;
      border-bottom: 2px solid #444;
      overflow-x: auto;
  }

  li.nav-entry, li.nav-separator {
      list-style-type: none;
  }

  li.nav-entry {
      background-color: #70af70;
      font-size: 115%;
      cursor: pointer;
      text-align: center;
      flex: 1 1 0;
  }

  li.nav-separator {
      flex: 0 0 2px;
      background-color: inherit;
  }

  li.big-separator {
      flex: 4 0 2px;
  }

  li.nav-entry:hover {
      box-shadow: 0 6px 8px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19);
  }

  ul#nav > li.nav-active {
      background-color: #65A065;
      color: #222;
      box-shadow: none;
      cursor: default;
  }

  ul#nav > li > :only-child {
      display: block;
      padding: 10px;
  }
{% endblock style %}

{% block body %}
  {% set active_endpoint = get_current_endpoint() %}
  {%
    set navigation_bar = [
        ('home.home',            _('web_ui.base.nav.home'),      false),
        ('rules.rules',          _('web_ui.base.nav.rules'),     false),
        ('items.packages',       _('web_ui.base.nav.packages'),  false),
        ('items.libraries',      _('web_ui.base.nav.libraries'), true),
        ('repos.repos',          _('web_ui.base.nav.repos'),     false),
        ('import.items_import',  _('web_ui.base.nav.import'),    false)
    ]
  %}
  <ul id="nav">
    {%
      for endpoint, label, advanced_user_only in navigation_bar
          if not advanced_user_only or settings.advanced_user
    %}
      {% if not loop.first %}
        {% set sep_classes = ['nav-separator'] %}
        {% if loop.last %}
          {% do sep_classes.append('big-separator') %}
        {% endif %}
        <li class="{{ sep_classes|join(' ') }}"></li>
      {% endif %}

      {% if endpoint == active_endpoint %}
        <li class="nav-entry nav-active"><div>{{ label }}</div></li>
      {% else %}
        <li class="nav-entry">
          <a href="{{ url_for(endpoint) }}" draggable="false">
            {{ label }}
          </a>
        </li>
      {% endif %}
    {% endfor %}
  </ul>

  {{ super() }}
{% endblock body %}

{% macro hkt_doc_link(page_name) %}
  {% set doc_url = url_for('home.home_doc', page=page_name) %}
  {{ doc_link(doc_url) }}
{% endmacro %}