From 9eaa376fbea4b053198d8343c9b19e29c4da1232 Mon Sep 17 00:00:00 2001 From: Dotty Dotter Date: Thu, 7 May 2026 11:16:39 +0200 Subject: [PATCH] feat(v3): Wortwahl entjargonisiert, Layout-Reorganisation, Score mit Farb-Tint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Wortwahl (User-feedback: "vermeide Konfidenz, neutralere Formulierung als Heuchelei"): - "Konfidenz" → "Bewertungs-Sicherheit" (Tooltip behält wissenschaftl. Begriff) - "Heuchelei-Marker"/"Opportunismus-Marker" → einheitlich "Wahlprogramm-Konflikt" (Tooltip behält wissenschaftl. Klassifikation) - "Mehrheit kontra GWÖ-Empfehlung" → "Mehrheit gegen GWÖ-Empfehlung" - Marker-Legende-Block entfernt (Tooltip pro Marker reicht) Layout-Reorganisation: - Stärkster/Schwächster Wert nach oben — zwischen Bewertung und User-Aktionen (vorher in "Rest"). Grid 2-spaltig, responsive. - Konsistenz-Hinweis ("Mehrheit ... GWÖ-Empfehlung") an die Spitze des Abstimmungsergebnis-Blocks (vorher in "Rest"). - Marker-Legende komplett raus. Visuelles: - Score x/10 mit Farb-Tint hinterlegt: --score-{high,mid,low}-bg/-fg aus tokens.css. Farbe folgt der Score-Schwelle (≥7 grün, 4-6 mittel, <4 rot). - Globale `body.v2 p { max-width: 72ch }` mit höherer Spezifität für .v3-page-Children überschrieben — alle Body-Texte nehmen volle Breite. Programm-Treue Fallback: - Wenn keine Zitate für ein Programm gefunden: erklärender Hinweistext im Body-Bereich, statt leerer Block. Co-Authored-By: Claude Opus 4.7 (1M context) --- app/static/v3/v3.css | 44 ++++++- app/templates/v3/screens/antrag_detail.html | 122 +++++++++----------- 2 files changed, 93 insertions(+), 73 deletions(-) diff --git a/app/static/v3/v3.css b/app/static/v3/v3.css index 39c4b69..e2f9bf1 100644 --- a/app/static/v3/v3.css +++ b/app/static/v3/v3.css @@ -88,15 +88,22 @@ .v3-score-num { font-family: var(--font-sans); font-weight: 900; - font-size: 56px; + font-size: 52px; line-height: 1; - color: var(--ecg-dark); + padding: 8px 16px 6px; + border-radius: 4px; + display: inline-flex; + align-items: baseline; + background: var(--score-mid-bg); + color: var(--score-mid-fg); } +.v3-score-num.good { background: var(--score-high-bg); color: var(--score-high-fg); } +.v3-score-num.mid { background: var(--score-mid-bg); color: var(--score-mid-fg); } +.v3-score-num.low { background: var(--score-low-bg); color: var(--score-low-fg); } .v3-score-slash { - font-size: 30px; + font-size: 26px; font-weight: 700; - color: var(--ecg-dark); - opacity: 0.4; + opacity: 0.55; margin-left: 2px; } .v3-empfehlung { @@ -774,3 +781,30 @@ font-size: 11px; color: var(--ecg-blue); } + +/* ── Volle Breite für Body-Texte: globale `body.v2 p { max-width: 72ch }` + Regel überschreiben (höhere Spezifität durch body.v2 + .v3-page). */ +body.v2 .v3-page p { max-width: none; } + +/* ── Stärken/Schwächen oben, nebeneinander wenn Platz ────────────── */ +.v3-werte-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + gap: 12px; +} +.v3-werte-grid .v2-kasten { + margin: 0; /* gridded, kein zusätzlicher Margin */ +} + +/* ── Fallback-Text wenn keine Zitate gefunden ────────────────────── */ +.v3-prog-no-zitate { + font-size: 12.5px; + line-height: 1.55; + color: var(--ecg-dark); + opacity: 0.72; + background: var(--surface); + border-left: 2px dashed var(--hairline); + padding: 8px 12px; + margin: 4px 0 0; + border-radius: 0 2px 2px 0; +} diff --git a/app/templates/v3/screens/antrag_detail.html b/app/templates/v3/screens/antrag_detail.html index 99a6685..1650cd6 100644 --- a/app/templates/v3/screens/antrag_detail.html +++ b/app/templates/v3/screens/antrag_detail.html @@ -94,7 +94,8 @@
{% set s = (antrag.score | default(0)) | float %}
-
+
{{ "%.1f"|format(s) }}/10
{% if antrag.verdict_title %} @@ -105,8 +106,8 @@
{% if antrag.konfidenz %} - Konfidenz: {{ antrag.konfidenz }} + title="Wie sicher ist die Bewertung des LLM? — wissenschaftlicher Begriff: Konfidenz."> + Bewertungs-Sicherheit: {{ antrag.konfidenz }} {% endif %}
@@ -117,6 +118,35 @@ {% endif %}
+ {# 3b ── Stärkster + Schwächster Wert (nach Bewertung, vor User-Aktionen) #} + {% if antrag.staerkster_wert or antrag.staerken or antrag.schwaechster_wert or antrag.schwaechen %} +
+ {% if antrag.staerkster_wert and antrag.staerkster_wert.text %} +
+

Stärkster Wert{% if antrag.staerkster_wert.titel %} — {{ antrag.staerkster_wert.titel }}{% endif %}

+

{{ antrag.staerkster_wert.text }}

+
+ {% elif antrag.staerken %} +
+

Stärken

+
    {% for s in antrag.staerken %}
  • {{ s }}
  • {% endfor %}
+
+ {% endif %} + + {% if antrag.schwaechster_wert and antrag.schwaechster_wert.text %} +
+

Schwächster Wert{% if antrag.schwaechster_wert.titel %} — {{ antrag.schwaechster_wert.titel }}{% endif %}

+

{{ antrag.schwaechster_wert.text }}

+
+ {% elif antrag.schwaechen %} +
+

Schwächen

+
    {% for s in antrag.schwaechen %}
  • {{ s }}
  • {% endfor %}
+
+ {% endif %} +
+ {% endif %} + {# 4 ── Merken + Bewertung treffend (User-Aktionen) ──────────────── #}