gwoe-antragspruefer/app/templates/v2/components/kasten.html
Dotty Dotter 565849bd84 feat(#139,#129,#138,#141): v2-Frontend (ECOnGOOD-CD), Login-Modal, Auto-DL, OG-Cards
v2-Frontend (#139, ECOnGOOD CD Manual Juni 2024):
- app/static/v2/: tokens.css, fonts.css, v2.css, Nunito-Sans woff2, Phosphor-Icons (21 SVGs)
- app/templates/v2/: base.html + 11 Screens + 8 Component-Macros
- AppShell mit Sidebar (Lesen/Pruefen/Daten/Admin), v2-Detail mit allen Features
  (ScoreHero, MatrixMini, QuoteCard, Redline, Fraktions-Scores)
- v2 ist jetzt Default unter / — classic unter /classic
- Login-Modal in v2-Topbar mit Tabs Anmelden/Registrieren (#129)
- Phosphor-Icons in Sidebar + Topbar mit dynamischem Theme-Toggle
- Keyboard-Shortcuts (j/k/Enter/Esc/?/path), Landtag-Suche, Antrag-Historie,
  Sort-Dropdown, Matrix-Feld-Info-Modal, Bookmarks/Comments/Voting/Share/Re-Analyze

Backend-Erweiterungen:
- main.py: ~30 neue Routes (/v2/*, /antrag/{ds}, /api/auth/{login,refresh,logout},
  /api/me/merkliste/*, /api/admin/*, /v2/admin/*, OG-Cards, etc.)
- og_card.py + og_template: Open-Graph-Bilder via Playwright (#141)
- wahlprogramm_fetch.py + wahlprogramm-links.yaml: SHA-Gate Auto-DL (#138)
- auswertungen.py: BL-Filter + get_wahlperioden Helper (#137)
- auth.py: Direct-Access-Grant + Refresh-Token-Cookie

Classic-Updates:
- Header-DRY via _header.html, Auswertungen redirected, Batch-Inline raus

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 20:55:57 +02:00

31 lines
899 B
HTML

{#
kasten.html — ECOnGOOD-Kasten (4 Varianten, Manual Seite 13)
Props:
variant : "solid-green" | "solid-blue" | "outline-green" | "outline-blue"
title : Optionaler Kasten-Titel (h4, Avenir Black, color:inherit)
body : Fließtext oder HTML-String
caller : Optionaler Jinja2-Caller-Block für komplexen Body-Inhalt
Verwendung:
{% from "v2/components/kasten.html" import kasten %}
{{ kasten("solid-green", "Hinweis", "Body-Text.") }}
Mit Caller-Block:
{% call kasten("outline-blue", "Titel") %}
<p>Komplexer Inhalt mit <strong>Markup</strong>.</p>
{% endcall %}
#}
{% macro kasten(variant="outline-green", title="", body="") %}
<div class="v2-kasten {{ variant }}">
{% if title %}
<h4>{{ title }}</h4>
{% endif %}
{% if body %}
<p>{{ body }}</p>
{% endif %}
{{ caller() if caller is defined else "" }}
</div>
{% endmacro %}