{% extends "base.html" %}
{% block body %}
Admin
{% if low_balance %}
⚠️ IPRoyal balance LOW (${{ ipr_balance }}) — top up now or dedicated orders will fail.
{% endif %}
Revenue (paid){{ stats.revenue_sats }} sats
IPRoyal balance${{ ipr_balance }}
HydraProxy balance${{ hydra_balance }}
Users{{ stats.users }} ({{ stats.active }} active)
GB sold{{ stats.gb_sold }} GB
Pending orders{{ stats.pending_orders }}
Dedicated IPs{{ dedicated|length }}
Recent orders
| ID | User | Plan | sats | Status |
{% for o in orders %}
| {{ o.id }} | {{ o.user_id }} | {{ o.plan_id }} |
{{ o.amount_sats }} | {{ o.status }} |
{% endfor %}
Dedicated IPs
| Type | Location | IP | Status |
{% for d in dedicated %}
| {{ d.product_name|replace(' Dedicated','') }} |
{{ d.location_name|truncate(20) }} |
{{ d.proxy_host or '—' }} |
{{ d.status }} |
{% endfor %}
Users
| ID | Username | Active | Balance | Geo |
{% for u in users %}
| {{ u.id }} | {{ u.username }} |
{{ '✓' if u.active else '—' }} |
{{ '%.2f'|format(u.balance_gb) }} GB |
{{ u.country or '—' }}{% if u.city %}/{{ u.city }}{% endif %} |
{% endfor %}
{% endblock %}