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

@@ -2940,7 +2940,8 @@
"balance": "Balance",
"sync": "Synchronization",
"tickets": "Tickets",
"gifts": "Gifts"
"gifts": "Gifts",
"referrals": "Referrals"
},
"noTickets": "No tickets from this user",
"ticketsCount": "tickets",
@@ -3100,6 +3101,26 @@
"unknownUser": "Unknown",
"totalSent": "Total sent",
"totalReceived": "Total received"
},
"referrals": {
"referredBy": "Referred By",
"noReferrer": "No referrer assigned",
"assignReferrer": "Assign Referrer",
"removeReferrer": "Remove",
"referrerAssigned": "Referrer assigned successfully",
"referrerRemoved": "Referrer removed successfully",
"totalReferrals": "Total Referrals",
"totalEarnings": "Total Earnings",
"commission": "Commission",
"referralCode": "Referral Code",
"default": "default",
"referralsList": "Referrals",
"noReferrals": "No referrals yet",
"removeReferral": "Remove referral",
"referralRemoved": "Referral removed successfully",
"searchPlaceholder": "Search by name, email, or Telegram ID...",
"alreadyReferred": "already has referrer",
"noUsersFound": "No users found"
}
}
},