feat: add node/status filters and custom date range to traffic page

- Add NodeFilter component with flag emojis and checkbox dropdown
- Add StatusFilter component with colored status dots
- Add custom date range picker (calendar toggle, from/to date inputs)
- Wire all filters to backend params (nodes, statuses, start_date, end_date)
- CSV export passes all active filters and date range
- Add displayNodes memo for table column filtering
- Add i18n keys for nodes, statuses, dates in ru/en/zh/fa
This commit is contained in:
Fringg
2026-02-07 11:53:09 +03:00
parent b5a0562615
commit 90b38e3ef2
6 changed files with 554 additions and 38 deletions

View File

@@ -804,7 +804,18 @@
"loading": "Loading traffic data...",
"noTariff": "\u2014",
"search": "Search by name or username",
"allTariffs": "All tariffs"
"allTariffs": "All tariffs",
"nodes": "Nodes",
"allNodes": "All nodes",
"status": "Status",
"allStatuses": "All",
"statusActive": "Active",
"statusTrial": "Trial",
"statusExpired": "Expired",
"statusDisabled": "Disabled",
"customDates": "Custom dates",
"dateFrom": "From",
"dateTo": "To"
},
"emailTemplates": {
"title": "Email Templates",

View File

@@ -685,7 +685,18 @@
"loading": "در حال بارگذاری داده‌های ترافیک...",
"noTariff": "\u2014",
"search": "جستجو بر اساس نام یا نام کاربری",
"allTariffs": "همه تعرفه‌ها"
"allTariffs": "همه تعرفه‌ها",
"nodes": "نودها",
"allNodes": "همه نودها",
"status": "وضعیت",
"allStatuses": "همه",
"statusActive": "فعال",
"statusTrial": "آزمایشی",
"statusExpired": "منقضی",
"statusDisabled": "غیرفعال",
"customDates": "تاریخ دلخواه",
"dateFrom": "از",
"dateTo": "تا"
},
"emailTemplates": {
"title": "قالب‌های ایمیل",

View File

@@ -825,7 +825,18 @@
"loading": "Загрузка данных о трафике...",
"noTariff": "\u2014",
"search": "Поиск по имени или юзернейму",
"allTariffs": "Все тарифы"
"allTariffs": "Все тарифы",
"nodes": "Ноды",
"allNodes": "Все ноды",
"status": "Статус",
"allStatuses": "Все",
"statusActive": "Активная",
"statusTrial": "Пробная",
"statusExpired": "Истекла",
"statusDisabled": "Отключена",
"customDates": "Выбрать даты",
"dateFrom": "От",
"dateTo": "До"
},
"emailTemplates": {
"title": "Email-шаблоны",

View File

@@ -685,7 +685,18 @@
"loading": "正在加载流量数据...",
"noTariff": "\u2014",
"search": "按名称或用户名搜索",
"allTariffs": "所有套餐"
"allTariffs": "所有套餐",
"nodes": "节点",
"allNodes": "所有节点",
"status": "状态",
"allStatuses": "全部",
"statusActive": "活跃",
"statusTrial": "试用",
"statusExpired": "已过期",
"statusDisabled": "已禁用",
"customDates": "自定义日期",
"dateFrom": "从",
"dateTo": "到"
},
"paymentMethods": {
"title": "支付方法",