diff --git a/app/main.py b/app/main.py index 606a0c9..dc0031f 100644 --- a/app/main.py +++ b/app/main.py @@ -3473,6 +3473,31 @@ async def og_template(request: Request, drucksache: str = ""): }) +@app.get("/v2/scorecard-werkstatt", response_class=HTMLResponse) +async def scorecard_werkstatt(request: Request): + """Live-Sandbox für Scorecard-Design-Iteration. + + Zeigt eine Vorschau-iframe der /v2/scorecard und einen CSS-Live-Editor. + Kein DB-Lookup nötig — der Editor passt nur Styles an, der Inhalt kommt + von der gewählten Drucksache. Plus Embed-Link-Generator für die + fertige Ansicht in anderen Kontexten. + """ + rows = await get_all_assessments(None) + drucksachen = [] + for r in rows[:60]: + drucksachen.append({ + "drucksache": r.get("drucksache", ""), + "bundesland": r.get("bundesland", ""), + "title": (r.get("title") or "")[:80], + }) + response = templates.TemplateResponse("v2/screens/scorecard_werkstatt.html", { + "request": request, + "drucksachen": drucksachen, + }) + response.headers["Cache-Control"] = "no-store" + return response + + @app.get("/v2/scorecard") async def scorecard_template( request: Request, drucksache: str, bundesland: str = "NRW", diff --git a/app/templates/v2/screens/antrag_detail.html b/app/templates/v2/screens/antrag_detail.html index 9d60384..bd6138a 100644 --- a/app/templates/v2/screens/antrag_detail.html +++ b/app/templates/v2/screens/antrag_detail.html @@ -934,13 +934,13 @@ window.v2ShowMatrixFieldInfo = function(field) { window.location.href = 'mailto:?subject=' + encodeURIComponent(subject) + '&body=' + encodeURIComponent(body); }; - /* Scorecard-Preview — Default ist portrait (1080×1350, Instagram 4:5). - Format-Param bewusst NICHT gesetzt, damit sich der Server-Default - durchsetzt — sonst muss man hier mitziehen wenn der Default sich - wieder aendert. */ + /* Scorecard-Preview — Default portrait (1080×1350). Cache-Buster + erzwingt frischen Server-Render, sonst zeigt der Browser eine + alte gecachete HTML-Variante. */ window.v2DetailShareScorecard = function() { var url = '/v2/scorecard?drucksache=' + encodeURIComponent(DRS) - + '&bundesland=' + encodeURIComponent(BL || 'NRW'); + + '&bundesland=' + encodeURIComponent(BL || 'NRW') + + '&_=' + Date.now(); window.open(url, '_blank', 'noopener'); }; diff --git a/app/templates/v2/screens/scorecard_werkstatt.html b/app/templates/v2/screens/scorecard_werkstatt.html new file mode 100644 index 0000000..49a8132 --- /dev/null +++ b/app/templates/v2/screens/scorecard_werkstatt.html @@ -0,0 +1,396 @@ +{% extends "v2/base.html" %} + +{% block title %}Scorecard-Werkstatt — GWÖ-Antragsprüfer{% endblock %} + +{% set v2_active_nav = "" %} + +{% block head_extra %} + +{% endblock %} + +{% block main %} +
+ Live-Editor für Scorecard-Layout. Drucksache + Format wählen, CSS im rechten Editor anpassen, + Apply drücken — Vorschau aktualisiert ohne neue PNG-Render. Auch als Embed-Quelle für + eingebettete Übersichten in anderen Kontexten nutzbar. +
+