guard_bans.html 59 lignes · 2574 octets
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>{{ page_title }}</title>
    <link href="/static/css/tailwind.css" rel="stylesheet">
    <link href="/static/css/custom.css" rel="stylesheet">
</head>
<body class="min-h-screen bg-base-200">
    <main class="container mx-auto px-4 py-8 space-y-4">
        <header class="flex items-center justify-between">
            <div>
                <h1 class="text-3xl font-bold">{{ heading }}</h1>
                <p class="text-base-content/70 mt-1">{{ subtitle }}</p>
            </div>
            <div class="flex gap-2">
                <a href="/admin/fediverse-guard/manual_ban" class="btn btn-primary btn-sm">{{ add_button }}</a>
                <a href="/admin/fediverse-guard" class="btn btn-ghost btn-sm">{{ back_link }}</a>
            </div>
        </header>

        <div class="card bg-base-100 shadow">
            <div class="card-body p-0">
                {% if bans.is_empty() %}
                    <p class="p-8 text-center text-base-content/60">{{ empty_state }}</p>
                {% else %}
                <div class="overflow-x-auto">
                    <table class="table table-sm">
                        <thead>
                            <tr>
                                <th>{{ col_domain }}</th>
                                <th>{{ col_actor }}</th>
                                <th>{{ col_severity }}</th>
                                <th>{{ col_reason }}</th>
                                <th>{{ col_triggered_by }}</th>
                                <th>{{ col_expires }}</th>
                            </tr>
                        </thead>
                        <tbody>
                            {% for b in bans %}
                            <tr>
                                <td class="font-mono">{{ b.domain }}</td>
                                <td class="font-mono text-xs">{{ b.actor_uri }}</td>
                                <td><span class="badge badge-warning">{{ b.severity }}</span></td>
                                <td>{{ b.reason }}</td>
                                <td class="font-mono text-xs">{{ b.triggered_by }}</td>
                                <td>{{ b.expires_at }}</td>
                            </tr>
                            {% endfor %}
                        </tbody>
                    </table>
                </div>
                {% endif %}
            </div>
        </div>
    </main>
</body>
</html>