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

@@ -782,7 +782,8 @@
"campaigns": "Кампании",
"promoOffers": "Промопредложения",
"promocodes": "Промокоды",
"promoGroups": "Группы скидок"
"promoGroups": "Группы скидок",
"trafficUsage": "Расход трафика"
},
"panel": {
"title": "Панель администратора",
@@ -804,7 +805,26 @@
"campaignsDesc": "Рекламные кампании",
"promoOffersDesc": "Персональные скидки",
"promocodesDesc": "Управление промокодами",
"promoGroupsDesc": "Группы скидок для пользователей"
"promoGroupsDesc": "Группы скидок для пользователей",
"trafficUsageDesc": "Трафик пользователей по нодам"
},
"trafficUsage": {
"title": "Расход трафика",
"subtitle": "Статистика трафика по пользователям и нодам",
"period": "Период",
"days": "д",
"exportCsv": "Экспорт CSV",
"exportSuccess": "CSV отправлен в ваш Telegram",
"exportError": "Ошибка экспорта",
"user": "Пользователь",
"tariff": "Тариф",
"devices": "Устройства",
"trafficLimit": "Лимит",
"total": "Всего",
"noData": "Нет данных о трафике",
"loading": "Загрузка данных о трафике...",
"noTariff": "\u2014",
"search": "Поиск по имени или юзернейму"
},
"emailTemplates": {
"title": "Email-шаблоны",