diff --git a/app.py b/app.py index 1155e94..ec21443 100644 --- a/app.py +++ b/app.py @@ -359,7 +359,7 @@ main{max-width:760px;margin:32px auto;padding:0 24px 48px} padding:28px;margin-bottom:24px;box-shadow:0 1px 2px rgba(0,0,0,.03); } label{display:block;margin-top:16px;font-size:.85em;color:var(--ink-soft);font-weight:600} -input[type=text],input[type=file]{ +input[type=text],input[type=file],select{ width:100%;padding:11px 12px;margin-top:6px;border:1px solid var(--border); border-radius:9px;font-size:.95em;background:#fbfcfd; } @@ -439,12 +439,14 @@ a{color:var(--orange)} - {% if allow_llm %} -
- - -
- {% endif %} + + @@ -469,11 +471,22 @@ a{color:var(--orange)} {{ result.risk_assessment.score }}/100 {{ result.risk_assessment.recommendation }} - {% if not issues_by_severity %} + {% if quick_mode %} + {% if issues_by_severity %} +

+ {{ total_issues }} Fund(e) insgesamt — + {% for sev, items in issues_by_severity.items() %}{{ severity_labels.get(sev, sev) }}: {{ items|length }}{% if not loop.last %} · {% endif %}{% endfor %} +

+ {% else %} +

Keine Funde.

+ {% endif %} +

Für Details je Fund und die Komponenten-Übersicht "Bericht" oder "Ausführlicher Bericht" wählen.

+ {% elif not issues_by_severity %}

Keine Funde – das Ergebnis unten (Rohdaten) bestätigt das im Detail.

{% endif %} + {% if not quick_mode %} {% for severity, items in issues_by_severity.items() %}

{{ severity_labels.get(severity, severity) }} ({{ items|length }})

@@ -512,6 +525,7 @@ a{color:var(--orange)} Rohdaten (vollständiges JSON)
{{ result_json }}
+ {% endif %} {% elif error %}

{{ error }}

@@ -544,7 +558,11 @@ def index(): error=f"Limit erreicht: maximal {MAX_SCANS_PER_HOUR_PER_IP} Scans pro Stunde und IP. Bitte später erneut versuchen.", ) - use_llm = ALLOW_LLM and request.form.get("use_llm") == "on" + report_level = request.form.get("report_level", "standard") + if report_level not in ("quick", "standard", "full"): + report_level = "standard" + use_llm = ALLOW_LLM and report_level == "full" + quick_mode = report_level == "quick" git_url = (request.form.get("git_url") or "").strip() zip_file = request.files.get("zip_file") @@ -612,6 +630,8 @@ def index(): allow_llm=ALLOW_LLM, result=result, issues_by_severity=normalize_issues(raw_issues), + total_issues=len(raw_issues), + quick_mode=quick_mode, components=normalize_components(result.get("components", [])), severity_labels=SEVERITY_LABELS_DE, summary_paragraphs=[p for p in (summary_text or "").split("\n\n") if p.strip()],