feat: add Jinja2 admin UI templates

This commit is contained in:
2026-05-15 00:19:50 +03:00
parent eabeb54767
commit 04f152a873
6 changed files with 235 additions and 6 deletions
+50 -1
View File
@@ -1 +1,50 @@
{% extends "base.html" %}{% block content %}index{% endblock %}
{% extends "base.html" %}
{% block content %}
<div style="display:flex; justify-content:space-between; align-items:center; margin-bottom:16px;">
<h1>Configs</h1>
<a href="/configs/new" class="btn btn-primary">+ New Config</a>
</div>
{% if configs %}
<table>
<thead>
<tr>
<th>Name</th>
<th>Client URL</th>
<th>Last Export</th>
<th>Nodes</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
{% for config in configs %}
<tr>
<td><a href="/configs/{{ config.id }}">{{ config.name }}</a></td>
<td>
<span class="token-url">{{ request.url.scheme }}://{{ request.url.netloc }}/config/{{ config.token }}.yaml</span>
</td>
<td>
{% set log = last_logs[config.id] %}
{% if log %}
<span class="{{ 'success' if log.success else 'error' }}">
{{ log.fetched_at.strftime('%Y-%m-%d %H:%M') }}
</span>
{% else %}
<span style="color:#999">Never</span>
{% endif %}
</td>
<td>{{ last_logs[config.id].node_count if last_logs[config.id] else '—' }}</td>
<td>
<a href="/configs/{{ config.id }}" class="btn btn-sm btn-primary">Edit</a>
<a href="/configs/{{ config.id }}/logs" class="btn btn-sm" style="background:#6b7280;color:#fff;">Logs</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="card">
<p style="color:#666; text-align:center;">No configs yet. <a href="/configs/new">Create one.</a></p>
</div>
{% endif %}
{% endblock %}