Files
patrickandClaude Sonnet 5.5 347f55cf7c
test / pytest (3.11) (push) Canceled after 0s
test / pytest (3.13) (push) Canceled after 0s
feat: Phase 6c baseline, ack, host alarms, outage notice, send limit, privacy mode, UI link
Includes atomic migrations, per-rule reminder semantics, first-run helper script
and the note on the undecided UI chat idea.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 03:06:23 +01:00

31 lines
1.1 KiB
HTML

{% extends "base.html" %}
{% block title %}Verlauf{% endblock %}
{% block content %}
<h1>Verlauf</h1>
<section class="card">
<div class="table-wrap">
<table>
<thead><tr><th>Zeit</th><th>Host</th><th>Service</th><th>Art</th><th>Status</th><th>Output</th><th>KI</th></tr></thead>
<tbody>
{% for a in entries %}
<tr id="alert-{{ a.id }}">
<td>{{ a.ts | fmt_ts }}</td>
<td>{{ a.host }}</td>
<td>{{ a.service }}</td>
<td>{{ a.kind }}</td>
<td><span class="badge {{ a.state | state_class }}">{{ a.state | display_state(a.service) }}</span></td>
<td>{{ a.output }}{% if a.suppressed %} <span class="badge info">unterdrückt ({{ suppress_labels.get(a.suppress_reason, a.suppress_reason) }})</span>{% endif %}</td>
<td>
{{ ai_labels.get(a.ai_status, a.ai_status) }}
{% if a.ai_text %}<div class="prewrap">{{ a.ai_text }}</div>{% endif %}
</td>
</tr>
{% else %}
<tr><td colspan="7" class="muted">Noch keine Alarme.</td></tr>
{% endfor %}
</tbody>
</table>
</div>
</section>
{% endblock %}