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>
GitRust