{# ========================================================================== Grundgeruest fuer Seiten ohne Anwendungsrahmen: Anmeldung, zweiter Faktor, Kundenportal, Self-Service. Wichtiger Unterschied zu base.html: Flash-Meldungen werden hier **sichtbar serverseitig** gerendert, nicht ueber die JSON-Bruecke. Der Vorgaenger hatte dieselbe Trennung; sie ist wichtig, weil diese Seiten auch ohne JavaScript nutzbar bleiben muessen (und weil Tests hier direkt auf Text pruefen). ========================================================================== #} {% block title %}{{ self.heading() }} · {{ app_name }}{% endblock %} {% block extra_head %}{% endblock %}
{% if auth_tagline %} {# Wortmarke mit Funktionszeile als tatsaechlicher Seitenhintergrund -- uebernommen vom Vorgaenger. Bewusst inline und mit Themen-Tokens statt zweier Dateien fuer hell und dunkel: bei der Einstellung "System" und beim Umschalten von Hand waere die versteckte Variante die falsche. ``aria-hidden``, weil der Name schon in der Ueberschrift steht. #} {% endif %}

{% block heading %}{{ app_name }}{% endblock %}

{% set sub %}{% block subheading %}{% endblock %}{% endset %} {% if sub | trim %}

{{ sub }}

{% endif %}
{% with messages = get_flashed_messages(with_categories=true) %} {% if messages %}
{% for category, message in messages %} {% set kind = {'error': 'danger', 'danger': 'danger', 'success': 'success', 'warning': 'warning'}.get(category, 'info') %} {% endfor %}
{% endif %} {% endwith %} {% block content %}{% endblock %}

{{ app_name }} {{ app_version }} · © {{ current_year }} WiS GmbH

{% block scripts %}{% endblock %}