Files
SyncPlayer/templates/admin/events.html
2026-02-12 10:50:49 +01:00

46 lines
2.0 KiB
HTML

{% extends 'admin/base.html' %}
{% block content %}
<div class="d-flex justify-content-between align-items-center mb-3">
<h4 class="m-0">Events</h4>
<a class="btn btn-success" href="{{ url_for('admin.event_new') }}">New Event</a>
</div>
<div class="alert alert-info py-2">
<div><strong>HTTP trigger</strong> (LAN): open one of these URLs</div>
<div class="small">
<code>{{ request.host_url }}trigger/&lt;event_id&gt;</code> or <code>{{ request.host_url }}trigger_by_name/&lt;event_name&gt;</code>
&nbsp; (add <code>?force=1</code> to bypass cooldown)
</div>
</div>
<table class="table table-striped table-sm">
<thead><tr><th>ID</th><th>Name</th><th>UDP</th><th>Cooldown</th><th>Last triggered</th><th></th></tr></thead>
<tbody>
{% for e in events %}
<tr>
<td>{{ e.id }}</td>
<td>
{{ e.name }}
</td>
<td>{% if e.udp_port and e.udp_payload %}<code>{{ e.udp_port }}</code> / <code>{{ e.udp_payload }}</code>{% endif %}</td>
<td>{{ e.cooldown_seconds }}s</td>
<td>{{ e.last_triggered or '' }}</td>
<td class="text-end">
<form method="post" action="{{ url_for('admin.event_trigger', event_id=e.id) }}" style="display:inline">
<button class="btn btn-outline-success btn-sm" type="submit">Trigger</button>
</form>
<a class="btn btn-outline-primary btn-sm" href="{{ url_for('admin.event_edit', event_id=e.id) }}">Edit</a>
<form method="post" action="{{ url_for('admin.event_delete', event_id=e.id) }}" style="display:inline" onsubmit="return confirm('Delete event?');">
<button class="btn btn-outline-danger btn-sm" type="submit">Delete</button>
</form>
<div class="small text-muted mt-1">
<div><code>/trigger/{{ e.id }}?force=1</code></div>
<div><code>/trigger_by_name/{{ e.name|urlencode }}?force=1</code></div>
</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}