CI / lint-and-test (push) Has been cancelled
- Remove multi-marketplace from Phase 3 - Add FastAPI web UI on port 8766 with basic auth - Add 6 Jinja2 templates (dashboard, keywords, users, ads, stats) - Add pytest test suite (45 tests, 49% coverage) - Add GitHub Actions CI/CD workflow - Update docker-compose.yml to expose web UI port - Update Dockerfile to include tests
66 lines
2.2 KiB
HTML
66 lines
2.2 KiB
HTML
{% extends "base.html" %}
|
|
{% block title %}Users — Willhaben Tracker{% endblock %}
|
|
{% block content %}
|
|
<div class="page-header">
|
|
<h2>Users</h2>
|
|
</div>
|
|
|
|
{% if not error and users %}
|
|
<div class="card" style="overflow-x: auto;">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Telegram ID</th>
|
|
<th>Username</th>
|
|
<th>First Name</th>
|
|
<th>Admin</th>
|
|
<th>Status</th>
|
|
<th>Mute Hours</th>
|
|
<th>Digest Mode</th>
|
|
<th>Digest Interval</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for user in users %}
|
|
<tr>
|
|
<td>{{ user.telegram_id }}</td>
|
|
<td>@{{ user.username }}{% if not user.username %}—{% endif %}</td>
|
|
<td>{{ user.first_name or '—' }}</td>
|
|
<td>
|
|
{% if user.is_admin %}
|
|
<span class="badge badge-yellow">Admin</span>
|
|
{% else %}
|
|
<span class="badge" style="background: #555; color: #fff;">User</span>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{% if user.is_active %}
|
|
<span class="badge badge-green">Active</span>
|
|
{% else %}
|
|
<span class="badge badge-red">Inactive</span>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{% if user.mute_start and user.mute_end %}
|
|
{{ user.mute_start.strftime('%H:%M') }} — {{ user.mute_end.strftime('%H:%M') }}
|
|
{% else %}
|
|
—
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{% if user.digest_mode %}
|
|
<span class="badge badge-green">On</span>
|
|
{% else %}
|
|
<span class="badge" style="background: #555; color: #fff;">Off</span>
|
|
{% endif %}
|
|
</td>
|
|
<td>{{ user.digest_interval }}m</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{% elif not error %}
|
|
<div class="card"><em>No users found.</em></div>
|
|
{% endif %}
|
|
{% endblock %} |