Files
nngo 2e9025fe55 06/16 Phase 6 foundation: admin blueprint, audit log, user management
Adds the admin backend foundation: AuditLog + Setting models/migration,
an admin-only dashboard with KPI cards, and user management (search,
ban/suspend/activate, tier override, trust adjust) with audit logging
on every write action. Smoke suite extended to 64 checks.
2026-06-16 11:45:00 -04:00

35 lines
1.3 KiB
HTML

{% extends "base.html" %}
{% block title %}{{ _('Admin · Dashboard') }}{% endblock %}
{% block content %}
{% include "admin/_nav.html" %}
<div class="card">
<h2>{{ _('Dashboard') }}</h2>
<div class="kpi-grid">
<div class="card kpi-card">
<div class="kpi-label">{{ _('Active listings') }}</div>
<div class="kpi-value">{{ kpis.active_listings }}</div>
</div>
<div class="card kpi-card">
<div class="kpi-label">{{ _('New users (7d)') }}</div>
<div class="kpi-value">{{ kpis.new_users_7d }}</div>
</div>
<div class="card kpi-card">
<div class="kpi-label">{{ _('New users (30d)') }}</div>
<div class="kpi-value">{{ kpis.new_users_30d }}</div>
</div>
<div class="card kpi-card">
<div class="kpi-label">{{ _('MRR') }}</div>
<div class="kpi-value">${{ "%.2f"|format(kpis.mrr_cents / 100) }}</div>
</div>
<div class="card kpi-card">
<div class="kpi-label">{{ _('Revenue (30d): subscriptions + boosts') }}</div>
<div class="kpi-value">${{ "%.2f"|format(kpis.revenue_30d_cents / 100) }}</div>
</div>
<div class="card kpi-card">
<div class="kpi-label">{{ _('Flag queue depth') }}</div>
<div class="kpi-value">{{ kpis.flag_queue_depth }}</div>
</div>
</div>
</div>
{% endblock %}