guard_dashboard.html 55 lignes · 2508 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-6">
        <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>
            <a href="/admin" class="btn btn-ghost btn-sm">{{ back_link }}</a>
        </header>

        <section class="grid grid-cols-1 md:grid-cols-3 gap-4">
            <div class="card bg-base-100 shadow">
                <div class="card-body">
                    <h2 class="card-title text-sm uppercase text-base-content/60">{{ stat_bans_label }}</h2>
                    <p class="text-4xl font-bold">{{ stat_active_bans }}</p>
                </div>
            </div>
            <div class="card bg-base-100 shadow">
                <div class="card-body">
                    <h2 class="card-title text-sm uppercase text-base-content/60">{{ stat_acl_label }}</h2>
                    <p class="text-4xl font-bold">{{ stat_acl_count }}</p>
                </div>
            </div>
            <div class="card bg-base-100 shadow">
                <div class="card-body">
                    <h2 class="card-title text-sm uppercase text-base-content/60">{{ stat_events_label }}</h2>
                    <p class="text-4xl font-bold">{{ stat_recent_events }}</p>
                    <p class="text-xs text-base-content/50">{{ stat_events_window }}</p>
                </div>
            </div>
        </section>

        <nav class="card bg-base-100 shadow">
            <div class="card-body">
                <h2 class="card-title">{{ navigation_heading }}</h2>
                <ul class="menu w-full">
                    <li><a href="/admin/fediverse-guard/events">{{ nav_events }}</a></li>
                    <li><a href="/admin/fediverse-guard/bans">{{ nav_bans }}</a></li>
                    <li><a href="/admin/fediverse-guard/manual_ban">{{ nav_manual_ban }}</a></li>
                    <li><a href="/admin/fediverse-guard/thresholds">{{ nav_thresholds }}</a></li>
                </ul>
            </div>
        </nav>
    </main>
</body>
</html>