{# Pure data table. Swapped via HTMX `hx-get` on filter input changes. Self-contained — gets re-rendered without the outer page chrome. #}
| Score | FQDN | Code | Title | Tech | Reasoning |
|---|---|---|---|---|---|
|
{% if row.score is none %}
—
{% else %}
|
{{ row.fqdn }} | {# Status code with semantic colour #}{% if row.status_code is none %} — {% elif row.status_code in [401, 403] %} {{ row.status_code }} {% elif row.status_code >= 500 %} {{ row.status_code }} {% elif row.status_code >= 400 %} {{ row.status_code }} {% else %} {{ row.status_code }} {% endif %} | {{ row.title or "—" }} | {{ row.technologies|join(" · ") }} | {# Full reasoning lives in the title tooltip; the cell truncates to one line so it always fits. #}{{ row.reasoning or "—" }} |
No subdomains match the current filter.