{% extends "base.html" %} {% from "macros.html" import finding %} {% block title %}PagePatrol report · {{ report.results[0].page_title or report.target }}{% endblock %} {% block content %}

{{ report.results[0].page_title or "Untitled page" }}

{{ report.url }}

{{ totals.error }}errors
{{ totals.warning }}warnings
{{ totals.info }}notes
{% if report.results | length > 1 %} {% endif %} {% for r in report.results %}

{{ report.label(r) }} {{ r.viewport.width }}×{{ r.viewport.height }}

{% if r.annotated_screenshot %}
Screenshot at {{ report.label(r) }} with findings marked {% elif r.screenshot %} Screenshot at {{ report.label(r) }} {% endif %}
{% if r.review_summary %}

AI {{ r.review_summary }}

{% endif %} {% if r.review_error %}

AI review failed: {{ r.review_error }}

{% endif %} {% if r.performance %}
{% for t in perf_tiles(r.performance) %}
{{ t.label }} {{ t.value or "not measured" }}
{% endfor %}

{{ format_bytes(r.performance.transfer_bytes) }} in {{ r.performance.requests }} requests · {% if r.performance.throttling %}loaded as {{ r.performance.throttling }}{% else %}loaded over this computer's connection{% endif %}

{% endif %} {% if r.findings %}
{% for g in group_by_check(r.findings) %}
{{ g.check }} {{ g.count }}
{% for f in g.findings[:5] %}{{ finding(f) }}{% endfor %} {% if g.count > 5 %}
{{ g.count - 5 }} more {% for f in g.findings[5:] %}{{ finding(f) }}{% endfor %}
{% endif %}
{% endfor %}
{% else %}
No issues found at this size.
{% endif %} {% if r.console %}
Console output ({{ r.console | length }})
    {% for m in r.console %}
  • [{{ m.type }}] {{ m.text }}{% if m.location %} {{ m.location }}{% endif %}
  • {% endfor %}
{% endif %}
{% endfor %} {% endblock %}