mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-28 09:33:46 +00:00
feat(admin): вкладка «Активность» в карточке пользователя
Единый таймлайн действий юзера в боте и кабинете
(GET /cabinet/admin/users/{id}/activity): вертикальная лента с
иконками-кружками по типу записи, бейджи подтипов, суммы со знаком
(+зелёный / −красный), относительное время (абсолютное — в title),
чипы-фильтры по категориям (платежи, события, промо, тикеты, подарки,
рефералы, входы), счётчик StatCard и постраничная догрузка по house
load-more паттерну. Компонент самодостаточный (ActivityTab), как
TicketsTab. Переводы во всех 4 локалях; время переиспользует
admin.auditLog.time.*.
biome check, type-check и build проходят (pre-commit пропущен: biome
не установлен локально — бинарь есть только в CI).
This commit is contained in:
@@ -3785,7 +3785,8 @@
|
||||
"sync": "Синхронизация",
|
||||
"tickets": "Тикеты",
|
||||
"gifts": "Подарки",
|
||||
"referrals": "Рефералы"
|
||||
"referrals": "Рефералы",
|
||||
"activity": "Активность"
|
||||
},
|
||||
"noTickets": "У пользователя нет тикетов",
|
||||
"ticketsCount": "тикетов",
|
||||
@@ -3985,6 +3986,66 @@
|
||||
"searchPlaceholder": "Поиск по имени, email или Telegram ID...",
|
||||
"alreadyReferred": "уже чей-то реферал",
|
||||
"noUsersFound": "Пользователи не найдены"
|
||||
},
|
||||
"activity": {
|
||||
"total": "Всего событий",
|
||||
"empty": "Активности пока нет",
|
||||
"filters": {
|
||||
"all": "Все",
|
||||
"payments": "Платежи",
|
||||
"events": "События",
|
||||
"promo": "Промо",
|
||||
"tickets": "Тикеты",
|
||||
"gifts": "Подарки",
|
||||
"referrals": "Рефералы",
|
||||
"logins": "Входы"
|
||||
},
|
||||
"types": {
|
||||
"transaction": "Транзакция",
|
||||
"event": "Событие",
|
||||
"promocode": "Промокод",
|
||||
"coupon": "Купон",
|
||||
"ticket": "Тикет",
|
||||
"wheel_spin": "Колесо фортуны",
|
||||
"poll": "Опрос пройден",
|
||||
"gift_sent": "Подарок отправлен",
|
||||
"gift_received": "Подарок получен",
|
||||
"referral_earning": "Реферальное начисление",
|
||||
"cabinet_login": "Вход в кабинет",
|
||||
"withdrawal": "Заявка на вывод"
|
||||
},
|
||||
"sources": {
|
||||
"bot": "Бот",
|
||||
"cabinet": "Кабинет"
|
||||
},
|
||||
"subtypes": {
|
||||
"deposit": "Пополнение",
|
||||
"withdrawal": "Списание",
|
||||
"subscription_payment": "Оплата подписки",
|
||||
"refund": "Возврат",
|
||||
"failed_refund": "Неудачный возврат",
|
||||
"referral_reward": "Реферальная награда",
|
||||
"poll_reward": "Награда за опрос",
|
||||
"gift_payment": "Оплата подарка",
|
||||
"activation": "Активация",
|
||||
"purchase": "Покупка",
|
||||
"subscription_purchase": "Покупка подписки",
|
||||
"renewal": "Продление",
|
||||
"balance_topup": "Пополнение баланса",
|
||||
"promo_group_change": "Смена промогруппы",
|
||||
"campaign_registration": "Регистрация по кампании",
|
||||
"referral_link_visit": "Переход по реф. ссылке",
|
||||
"referral_registration": "Реф. регистрация",
|
||||
"trial_activation": "Активация триала",
|
||||
"open": "Открыт",
|
||||
"answered": "Отвечен",
|
||||
"pending": "Ожидает",
|
||||
"closed": "Закрыт",
|
||||
"redeemed": "Погашен",
|
||||
"approved": "Одобрена",
|
||||
"rejected": "Отклонена",
|
||||
"completed": "Выполнена"
|
||||
}
|
||||
}
|
||||
},
|
||||
"notFound": "Пользователь не найден",
|
||||
|
||||
Reference in New Issue
Block a user