{% if total_findings %}
{{ t('total_scans_label', request.state.lang) }}: {{ total_scans }}
{{ t('flagged_scans_label', request.state.lang) }}: {{ flagged_scans }}
{{ t('col_findings', request.state.lang) }}: {{ total_findings }}
{{ t('llm_analyzed', request.state.lang) }}: {{ llm_analyzed }}
{{ t('llm_pending', request.state.lang) }}: {{ llm_pending }}
{% endif %}
{% if top_rules %}
{{ t('heading_top_rules', request.state.lang) }}
{% for r in top_rules %}
| {{ r.rule }} | {{ r.count }} |
{% endfor %}
{% endif %}
{% if latest_flagged %}
{{ t('heading_latest_flagged', request.state.lang) }}
| {{ t('col_package', request.state.lang) }} | {{ t('col_version', request.state.lang) }} | {{ t('col_findings', request.state.lang) }} | {{ t('col_time', request.state.lang) }} |
{% for s in latest_flagged %}
| {{ s.package_name }} |
{{ s.package_version }} |
{{ s.total_findings }} |
{{ s.started_at.strftime('%m-%d %H:%M') if s.started_at }} |
{% endfor %}
{% endif %}
{{ t('heading_latest_scans', request.state.lang) }}
| {{ t('col_package', request.state.lang) }} | {{ t('col_version', request.state.lang) }} | {{ t('col_repo', request.state.lang) }} | {{ t('col_status', request.state.lang) }} | | {{ t('col_time', request.state.lang) }} |
{% for s in latest_scans %}
| {{ s.package_name }} |
{{ s.package_version }} |
{{ s.repository }} |
{% with status=s.status %}{% include "_status_badge.html" %}{% endwith %}
|
{% if s.flagged %}⚠ {{ s.total_findings }}{% elif s.status == 'completed' %}✓{% else %}-{% endif %} |
{{ s.started_at.strftime('%m-%d %H:%M') if s.started_at }} |
{% endfor %}
{{ t('view_all_scans', request.state.lang) }}
{{ t('refresh_hint', request.state.lang, now.strftime('%H:%M:%S')) }}