gwoe-antragspruefer/app/templates/v2/components/quote_card.html
Dotty Dotter 273d45ea36 fix: PDF-Link mit #page=N-Hash — Browser-PDF-Viewer landet jetzt direkt auf der richtigen Seite
Browser-PDF-Reader (Chrome, Firefox) ignorieren das von /OpenAction-Eintrag im
PDF-Catalog (#88f9c7d) komplett. Der zuverlaessige Weg: URL-Hash-Anker '#page=N'.

Drei Stellen angepasst:
- redline_utils.build_pdf_href: haengt #page={seite} an die URL
- embeddings._build_zitat_url (rebind): analog
- v2/components/quote_card.html: bei alten DB-Eintraegen ohne Hash wird er
  on-the-fly aus dem 'seite='-Query-Param erzeugt

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

37 lines
1.8 KiB
HTML

{#
quote_card.html — Zitat-Karte mit Verifikations-Siegel
Props:
text : str — Zitattext (wird kursiv gesetzt)
source : str — Quellenangabe (z.B. "Wahlprogramm 2026 · S. 84")
verified : bool — Zeigt ✓ verifiziert-Siegel (default True)
contra : bool — Widerspruch-Variante (rote Border, default False)
pdf_href : str — Optionaler Link zu PDF-Viewer mit Seiten-Anker
Farbcodierung:
contra=False: border-left var(--ecg-blue), Siegel Grün
contra=True: border-left var(--redline-contra), Siegel Rot
Verwendung:
{% from "v2/components/quote_card.html" import quote_card %}
{{ quote_card("Wir verpflichten...", "Wahlprogramm 2026 · S. 84") }}
{{ quote_card("Konkurrenz abzulehnen...", "Grundsatzprogramm · S. 42", contra=True) }}
#}
{% macro quote_card(text, source="", verified=True, contra=False, pdf_href="") %}
<div class="v2-quote {% if contra %}contra{% endif %}">
<div class="q-body">„{{ text }}"</div>
<cite>
{% if verified %}
<span class="verified">{% if contra %}&#10007;{% else %}&#10003;{% endif %} {% if contra %}Programm-Widerspruch{% else %}verifiziert{% endif %}</span>
{% endif %}
{{ source }}
{% if pdf_href %}
{# Falls pdf_href noch keinen #page=…-Anker hat, aus seite= im Query-String einen anhaengen — Browser-PDF-Viewer ignorieren PDF-OpenAction, der Hash-Anker funktioniert zuverlaessig. #}
{% set _href = pdf_href if '#page=' in pdf_href else (pdf_href ~ ('#page=' ~ (pdf_href.split('seite=')[1].split('&')[0] if 'seite=' in pdf_href else '1'))) %}
· <a href="{{ _href }}" target="_blank" rel="noopener" style="color:var(--ecg-blue);border-bottom:1px solid rgba(0,157,165,0.35);">PDF öffnen</a>
{% endif %}
</cite>
</div>
{% endmacro %}