gwoe-antragspruefer/app/templates/v2/components/appshell.html

134 lines
5.2 KiB
HTML
Raw Normal View History

{#
appshell.html — AppShell-Macro für GWÖ-Antragsprüfer v2
Rendert die zweispaltige Shell mit Sidebar (230 px Desktop) und Drawer
(< 900 px). Wird per {% include %} aus base.html eingebettet;
der eigentliche Seiteninhalt kommt über den Jinja2-Block "main".
Navigation-Gruppen: LESEN / PRÜFEN / DATEN / ADMIN (laut Brief §04).
Aktiver Eintrag: v2_active_nav wird vom Screen-Template gesetzt.
#}
{# Overlay für mobilen Drawer #}
<div id="v2-overlay" class="v2-overlay"></div>
<div class="v2-shell">
{# ── Sidebar ──────────────────────────────────────────────────── #}
<aside id="v2-sidebar" class="v2-sidebar">
<div class="v2-brand">
GWÖ-<span class="grn">ANTRAGS</span><span class="blu">PRÜFER</span>
</div>
<div class="v2-brand-sub">Matrix 2.0 · Gemeinden</div>
<nav aria-label="Hauptnavigation">
<div class="v2-nav-group">
<div class="v2-nav-label">— Lesen</div>
<a href="/"
class="v2-nav-item {% if v2_active_nav == 'durchsuchen' %}active{% endif %}"
aria-current="{% if v2_active_nav == 'durchsuchen' %}page{% endif %}">
Durchsuchen
{% if assessment_count is defined and assessment_count %}
<span class="v2-nav-count">{{ assessment_count }}</span>
{% endif %}
</a>
<a href="/v2/merkliste"
class="v2-nav-item {% if v2_active_nav == 'merkliste' %}active{% endif %}">
Merkliste
</a>
<a href="/v2/tags"
class="v2-nav-item {% if v2_active_nav == 'tags' %}active{% endif %}">
Tags
</a>
<a href="/v2/cluster"
class="v2-nav-item {% if v2_active_nav == 'cluster' %}active{% endif %}">
Cluster
</a>
</div>
<div class="v2-nav-group">
<div class="v2-nav-label">— Prüfen</div>
<a href="/v2/neu"
class="v2-nav-item {% if v2_active_nav == 'neu' %}active{% endif %}">
Neuer Antrag
</a>
<a href="/v2/batch"
class="v2-nav-item {% if v2_active_nav == 'batch' %}active{% endif %}">
Batch-Analyse
</a>
</div>
<div class="v2-nav-group">
<div class="v2-nav-label">— Daten</div>
<a href="/auswertungen"
class="v2-nav-item {% if v2_active_nav == 'auswertungen' %}active{% endif %}">
Auswertungen
</a>
<a href="/api/auswertungen/export.csv"
class="v2-nav-item {% if v2_active_nav == 'export' %}active{% endif %}">
Export · API
</a>
<a href="/api/feed.xml"
class="v2-nav-item {% if v2_active_nav == 'feed' %}active{% endif %}">
Atom-Feed
</a>
</div>
{% if is_admin is defined and is_admin %}
<div class="v2-nav-group">
<div class="v2-nav-label">— Administration</div>
<a href="/v2/admin/freischaltungen"
class="v2-nav-item {% if v2_active_nav == 'freischaltungen' %}active{% endif %}">
Freischaltungen
</a>
<a href="/v2/admin/queue"
class="v2-nav-item {% if v2_active_nav == 'queue' %}active{% endif %}">
Queue
</a>
<a href="/v2/admin/abos"
class="v2-nav-item {% if v2_active_nav == 'abos' %}active{% endif %}">
Abos
</a>
</div>
{% endif %}
</nav>
</aside>
{# ── Topbar ───────────────────────────────────────────────────── #}
<header class="v2-topbar">
<button id="v2-menu-toggle" class="v2-menu-toggle" aria-label="Navigation öffnen">
&#9776;
</button>
<span class="v2-topbar-spacer"></span>
<a href="/classic" class="v2-back-link">Klassische Ansicht</a>
<a href="/methodik">Methodik</a>
<a href="/quellen">Quellen</a>
<button id="v2-theme-toggle"
aria-label="Farbschema wechseln (Hell / Dunkel / Auto)"
onclick="window.__v2CycleTheme && window.__v2CycleTheme()"
style="background:none;border:none;cursor:pointer;font-family:var(--font-mono);font-size:11px;color:var(--ecg-dark);letter-spacing:0.06em;text-transform:uppercase;opacity:0.75;padding:0;">
Auto
</button>
</header>
{# ── Main Content ─────────────────────────────────────────────── #}
<main class="v2-main" id="v2-main">
{% block main %}{% endblock %}
</main>
{# ── Footer ───────────────────────────────────────────────────── #}
<footer class="v2-footer">
<span>GWÖ-Antragsprüfer · Matrix 2.0 · CC BY 4.0</span>
<a href="/methodik">Methodik</a>
<a href="/quellen">Quellen</a>
<a href="/impressum">Impressum</a>
<a href="/datenschutz">Datenschutz</a>
<a href="https://repo.toppyr.de/tobias/gwoe-antragspruefer">Quellcode</a>
<span class="v2-topbar-spacer"></span>
<a href="/classic" style="color:var(--ecg-green);opacity:1;">Zurück zur klassischen Ansicht</a>
</footer>
</div>{# .v2-shell #}