feat: add admin traffic usage page with TanStack Table

Add AdminTrafficUsage page showing per-user traffic statistics by node
with period filtering (1/3/7/14/30d), server-side sorting, search,
pagination, and CSV export. Uses @tanstack/react-table with manual
sorting and dynamic node columns.
This commit is contained in:
Fringg
2026-02-07 09:04:55 +03:00
parent 280f4aef0d
commit a034a6068c
10 changed files with 716 additions and 8 deletions

View File

@@ -761,7 +761,8 @@
"campaigns": "Campaigns",
"promoOffers": "Promo Offers",
"promocodes": "Promo Codes",
"promoGroups": "Discount Groups"
"promoGroups": "Discount Groups",
"trafficUsage": "Traffic Usage"
},
"panel": {
"title": "Admin Panel",
@@ -783,7 +784,26 @@
"campaignsDesc": "Advertising campaigns",
"promoOffersDesc": "Personal discounts",
"promocodesDesc": "Manage promo codes",
"promoGroupsDesc": "Discount groups for users"
"promoGroupsDesc": "Discount groups for users",
"trafficUsageDesc": "Per-user traffic by nodes"
},
"trafficUsage": {
"title": "Traffic Usage",
"subtitle": "Per-user traffic statistics by nodes",
"period": "Period",
"days": "d",
"exportCsv": "Export CSV",
"exportSuccess": "CSV sent to your Telegram",
"exportError": "Failed to export",
"user": "User",
"tariff": "Tariff",
"devices": "Devices",
"trafficLimit": "Limit",
"total": "Total",
"noData": "No traffic data",
"loading": "Loading traffic data...",
"noTariff": "\u2014",
"search": "Search by name or username"
},
"emailTemplates": {
"title": "Email Templates",