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

@@ -642,7 +642,8 @@
"promocodes": "کدهای تخفیف",
"promoGroups": "گروه‌های تخفیف",
"remnawave": "RemnaWave",
"users": "کاربران"
"users": "کاربران",
"trafficUsage": "مصرف ترافیک"
},
"panel": {
"title": "پنل مدیریت",
@@ -664,7 +665,26 @@
"promocodesDesc": "مدیریت کدهای تخفیف",
"promoGroupsDesc": "گروه‌های تخفیف برای کاربران",
"remnawaveDesc": "مدیریت پنل و آمار",
"usersDesc": "مدیریت کاربران ربات"
"usersDesc": "مدیریت کاربران ربات",
"trafficUsageDesc": "ترافیک هر کاربر بر اساس نود"
},
"trafficUsage": {
"title": "مصرف ترافیک",
"subtitle": "آمار ترافیک کاربران بر اساس نودها",
"period": "دوره",
"days": "روز",
"exportCsv": "خروجی CSV",
"exportSuccess": "CSV به تلگرام شما ارسال شد",
"exportError": "خطا در خروجی",
"user": "کاربر",
"tariff": "تعرفه",
"devices": "دستگاه‌ها",
"trafficLimit": "محدودیت",
"total": "کل",
"noData": "داده ترافیکی موجود نیست",
"loading": "در حال بارگذاری داده‌های ترافیک...",
"noTariff": "\u2014",
"search": "جستجو بر اساس نام یا نام کاربری"
},
"emailTemplates": {
"title": "قالب‌های ایمیل",