kadenios/shared/templates/base.html

257 lines
9 KiB
HTML

{% load static bulma i18n %}
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
{% get_language_info_list for LANGUAGES as langs %}
<!DOCTYPE html>
<html>
<head>
<title>Kadenios</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
{# Favicon #}
<link rel="shortcut icon" type="image/png" href="{% static 'images/kadenios.png' %}">
{# CSS #}
<link rel="stylesheet" href="{% static 'css/main.css' %}">
<link rel="stylesheet" href="{% static 'vendor/font-awesome/css/font-awesome.min.css' %}">
<link rel="stylesheet" href="{% static 'vendor/font-awesome/css/solid.min.css' %}">
<script src="{% static 'js/main.js' %}"></script>
{% block extra_head %}{% endblock extra_head %}
</head>
<body>
{# Scrool to top #}
<button id="scroll-button" class="button is-rounded is-large is-hidden has-tooltip" data-tooltip="{% trans "Revenir en haut de la page" %}">
<span class="icon is-large has-text-primary">
<i class="fas fa-2x fa-chevron-circle-up"></i>
</span>
</button>
{# Sélection de la langue #}
<form action="{% url "set_language" %}" method="POST" id="lang-form" class="is-hidden">
{% csrf_token %}
<input type="hidden" name="language" id="lang-input">
</form>
{# Navbar #}
<nav class="level has-background-primary is-mobile">
<div class="level-left">
<div class="level-item pl-4">
<a href="{% url 'kadenios' %}">
<h1 class="has-text-primary-light is-size-1 is-family-secondary">Kadenios</h1>
</a>
</div>
<div class="level-item pl-4 is-hidden-touch">
<a href="{% url 'election.list' %}">
<h3 class="has-text-primary-light has-text-weight-semibold is-size-3">{% trans "Élections" %}</h3>
</a>
</div>
{% comment %}
<div class="level-item pl-4 is-hidden-touch">
<a href="{% url 'faq.list' %}">
<h3 class="has-text-primary-light has-text-weight-semibold is-size-3">{% trans "FAQ" %}</h3>
</a>
</div>
{% endcomment %}
</div>
<div class="level-right">
{% block auth %}
{% if user.is_authenticated %}
{# Paramètres de Kadenios #}
{% if user.is_staff %}
<div class="level-item has-tooltip-light has-tooltip-bottom is-hidden-touch" data-tooltip="Administration">
<a class="button is-primary" href="{% url 'auth.admin' %}">
<span class="icon is-size-3">
<i class="fas fa-cog"></i>
</span>
</a>
</div>
{% endif %}
<div class="level-item is-hidden-mobile">
<div class="tag">
{% blocktrans with name=user.base_username connection=user.connection_method %}Connecté·e en tant que {{ name }} par {{ connection }}{% endblocktrans %}
</div>
</div>
<div class="level-item is-hidden-touch">
<a class="button is-primary" href="{% url 'authens:logout' %}?next={% if view.get_next_url %}{{ view.get_next_url }}{% else %}/{% endif %}">
<span class="icon is-size-1">
<i class="fas fa-sign-out-alt"></i>
</span>
</a>
</div>
{% else %}
<div class="level-item py-2 is-hidden-touch">
<a class="button" href="{% url 'authens:login' %}?next={{ request.path }}">
<span class="is-size-5">{% trans "Se connecter" %}</span>
<span class="icon is-size-4">
<i class="fas fa-sign-in-alt"></i>
</span>
</a>
</div>
{% endif %}
{% endblock %}
{# Choix de la langue #}
<div class="level-item is-hidden-touch">
<div class="dropdown is-hoverable is-right">
<div class="dropdown-trigger">
<a class="button is-primary is-large" aria-haspopup="true" aria-controls="dropdown-menu">
<span class="icon is-size-2">
<i class="fas fa-language"></i>
</span>
</a>
</div>
<div class="dropdown-menu">
<div class="dropdown-content">
{% for lang in langs %}
{% with lang_svg="images/"|add:lang.code|add:".svg" %}
<a class="dropdown-item lang-selector" data-lang="{{ lang.code }}">
<span class="icon-text">
<span class="icon">
<img src="{% static lang_svg %}">
</span>
<span class="ml-1">{{ lang.name_translated }}</span>
</span>
{% endwith %}
</a>
{% if not forloop.last %}
<hr class="dropdown-divider">
{% endif %}
{% endfor %}
</div>
</div>
</div>
</div>
{# Menu pour mobile et tablette #}
<div class="level-item is-hidden-desktop">
<div class="dropdown is-right">
<div class="dropdown-trigger">
<a class="button is-primary is-large" aria-haspopup="true" aria-controls="dropdown-menu">
<span class="icon is-size-2">
<i class="fas fa-bars"></i>
</span>
</a>
</div>
<div class="dropdown-menu pr-1">
<div class="dropdown-content pb-0">
<a class="dropdown-item" href="{% url 'election.list' %}">
<span class="icon is-size-5 mr-3">
<i class="fas fa-vote-yea"></i>
</span>
<span class="is-size-5">{% trans "Élections" %}</span>
</a>
{% comment %}
<hr class="dropdown-divider">
<a class="dropdown-item" href="{% url 'faq.list' %}">
<span class="icon is-size-5 mr-3">
<i class="fas fa-question"></i>
</span>
<span class="has-text-weight-semibol is-size-5">{% trans "FAQs" %}</span>
</a>
{% endcomment %}
{% if user.is_staff %}
<hr class="dropdown-divider">
<a class="dropdown-item" href="{% url 'auth.admin' %}">
<span class="icon is-size-5 mr-3">
<i class="fas fa-cog"></i>
</span>
<span class="is-size-5">{% trans "Administration" %}</span>
</a>
{% endif %}
<hr class="dropdown-divider">
{% if user.is_authenticated %}
<a class="dropdown-item" href="{% url 'authens:logout' %}?next={% if view.get_next_url %}{{ view.get_next_url }}{% else %}/{% endif %}">
<span class="icon is-size-5 mr-3">
<i class="fas fa-sign-out-alt"></i>
</span>
<span class="is-size-5">{% trans "Déconnexion" %}</span>
</a>
{% else %}
<a class="dropdown-item" href="{% url 'authens:login' %}?next={{ request.path }}">
<span class="icon is-size-5 mr-3">
<i class="fas fa-sign-in-alt"></i>
</span>
<span class="is-size-5">{% trans "Se connecter" %}</span>
</a>
{% endif %}
{% for lang in langs %}
{% with lang_svg="images/"|add:lang.code|add:".svg" %}
<hr class="dropdown-divider {% if forloop.first %}mb-0{% else %}my-0{% endif %}">
<a class="dropdown-item lang-selector" data-lang="{{ lang.code }}">
<span class="icon-text">
<span class="icon mr-4">
<img style="border-radius:3px" src="{% static lang_svg %}">
</span>
<span class="is-size-">{{ lang.name_translated }}</span>
</span>
{% endwith %}
</a>
{% endfor %}
</div>
</div>
</div>
</div>
</div>
</nav>
{% block layout %}
<div class="main-content">
<div class="columns is-centered">
<div class="column is-two-thirds-fullhd is-12-desktop is-12-widescreen">
<section id="notifications" class="section pt-0">
{% for message in messages %}
<div class="notification is-{{ message.level_tag|bulma_message_tag }} is-light">
{% if 'safe' in message.tags %}
{{ message|safe }}
{% else %}
{{ message }}
{% endif %}
<button class="delete"></button>
</div>
{% endfor %}
<div id="content" class="box">
{% block content %}
{% endblock content %}
</div>
</section>
</div>
</div>
</div>
{% endblock layout %}
<footer class="footer">
<p class="has-text-centered">
{% blocktrans %}Développé par <a class="tag is-light is-danger" href="https://www.eleves.ens.fr/kde">KDEns</a>. En cas de pépin, contacter <span class="tag is-info is-light">klub-dev [at] ens [dot] fr</span>.{% endblocktrans %}
</p>
</footer>
{% block custom_js %}{% endblock %}
</body>
</html>