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

@@ -2562,7 +2562,8 @@
"balance": "موجودی",
"sync": "همگام‌سازی",
"tickets": "تیکت‌ها",
"gifts": "هدایا"
"gifts": "هدایا",
"referrals": "معرفی‌ها"
},
"noTickets": "این کاربر تیکتی ندارد",
"ticketsCount": "تیکت",
@@ -2718,6 +2719,26 @@
"unknownUser": "ناشناس",
"totalSent": "کل ارسال شده",
"totalReceived": "کل دریافت شده"
},
"referrals": {
"referredBy": "معرفی‌شده توسط",
"noReferrer": "معرفی‌کننده‌ای تعیین نشده",
"assignReferrer": "تعیین معرفی‌کننده",
"removeReferrer": "حذف",
"referrerAssigned": "معرفی‌کننده تعیین شد",
"referrerRemoved": "معرفی‌کننده حذف شد",
"totalReferrals": "کل معرفی‌ها",
"totalEarnings": "کل درآمد",
"commission": "کمیسیون",
"referralCode": "کد معرفی",
"default": "پیش‌فرض",
"referralsList": "لیست معرفی‌ها",
"noReferrals": "هنوز معرفی‌ای نیست",
"removeReferral": "حذف معرفی",
"referralRemoved": "معرفی حذف شد",
"searchPlaceholder": "جستجو بر اساس نام، ایمیل یا شناسه تلگرام...",
"alreadyReferred": "قبلاً معرفی شده",
"noUsersFound": "کاربری یافت نشد"
}
}
},