Files
vpn-control-panel/app/templates/dashboard.html
smolkik-code 7c7c88621d Initial commit: VPN Control Panel
- FastAPI REST API with JWT auth
- aiogram 3 Telegram bot with admin middleware
- APScheduler daily tasks (expiry, reminders, revoke, sync)
- SQLAlchemy 2 async ORM with Alembic migrations
- Jinja2 admin panel (Dashboard, Users, Payments, Servers, Tariffs)
- VPN provider abstraction with MockProvider
- Stats service with revenue/subscription analytics
- Docker Compose (PostgreSQL + Redis + app)
- Healthcheck endpoint
2026-07-05 17:50:11 +07:00

29 lines
925 B
HTML

{% extends "base.html" %}
{% block title %}Dashboard — VPN Control Panel{% endblock %}
{% block content %}
<h2>Dashboard</h2>
<div class="cards">
<div class="card">
<div class="value">{{ active_users }} / {{ total_users }}</div>
<div class="label">Active Users</div>
</div>
<div class="card">
<div class="value">{{ total_tariffs }}</div>
<div class="label">Tariffs</div>
</div>
<div class="card">
<div class="value">{{ active_servers }} / {{ total_servers }}</div>
<div class="label">Active Servers</div>
</div>
<div class="card">
<div class="value">{{ confirmed_payments }} / {{ total_payments }}</div>
<div class="label">Confirmed Payments</div>
</div>
<div class="card">
<div class="value">{{ "%.2f"|format(total_revenue) }}</div>
<div class="label">Revenue (RUB)</div>
</div>
</div>
{% endblock %}