feat: add Referrals tab to admin user detail page

- New Рефералы tab with three sections:
  - Referred By: shows who referred this user, assign/remove referrer
  - Stats grid: total referrals, earnings, commission, referral code
  - Referrals list: all referred users with navigate and remove buttons
- User search with debounce for assigning referrer
- Shows warning when selected user already has a referrer
- API methods: assignReferrer, removeReferrer, removeReferral
- i18n translations for all 4 locales (en, ru, zh, fa)
This commit is contained in:
Fringg
2026-03-29 03:43:47 +03:00
parent 3e6c0212a6
commit e32663f291
6 changed files with 444 additions and 6 deletions

View File

@@ -3452,7 +3452,8 @@
"balance": "Баланс",
"sync": "Синхронизация",
"tickets": "Тикеты",
"gifts": "Подарки"
"gifts": "Подарки",
"referrals": "Рефералы"
},
"noTickets": "У пользователя нет тикетов",
"ticketsCount": "тикетов",
@@ -3611,6 +3612,26 @@
"unknownUser": "Неизвестный",
"totalSent": "Всего отправлено",
"totalReceived": "Всего получено"
},
"referrals": {
"referredBy": "Приглашён",
"noReferrer": "Реферер не назначен",
"assignReferrer": "Назначить реферера",
"removeReferrer": "Удалить",
"referrerAssigned": "Реферер назначен",
"referrerRemoved": "Реферер удалён",
"totalReferrals": "Всего рефералов",
"totalEarnings": "Всего заработано",
"commission": "Комиссия",
"referralCode": "Реферальный код",
"default": "стандарт",
"referralsList": "Рефералы",
"noReferrals": "Рефералов пока нет",
"removeReferral": "Удалить реферала",
"referralRemoved": "Реферал удалён",
"searchPlaceholder": "Поиск по имени, email или Telegram ID...",
"alreadyReferred": "уже чей-то реферал",
"noUsersFound": "Пользователи не найдены"
}
}
},