feat: show referral relationships in admin user cards
This commit is contained in:
@@ -440,6 +440,13 @@
|
||||
"admin_user_referral_revenue_label": "💸 <b>Referral Revenue:</b>",
|
||||
"admin_user_invited_friends_label": "👥 <b>Friends invited:</b>",
|
||||
"admin_user_ref_purchased_label": "💳 <b>Purchased subscription:</b>",
|
||||
"admin_user_invited_by_label": "🎁 <b>Invited by:</b>",
|
||||
"admin_user_invitees_button": "👥 Invited users",
|
||||
"admin_user_invitees_message_title": "👥 <b>Users invited by {user}</b>\n\nTotal: <b>{total}</b>. Page {current}/{total_pages}.",
|
||||
"admin_user_invitees_empty": "This user has not invited anyone yet.",
|
||||
"admin_user_invitee_item": "{index}. {user}{suffix}",
|
||||
"admin_user_invitee_registered_suffix": " · registered {date}",
|
||||
"admin_user_invitees_error": "❌ Failed to load invited users",
|
||||
"admin_user_links_section_title": "🔗 <b>Links</b>",
|
||||
"admin_user_subscription_url_label": "📡 <b>Subscription:</b>",
|
||||
"admin_user_ref_bot_link_label": "🤖 <b>Referral link (bot):</b>",
|
||||
@@ -1247,6 +1254,14 @@
|
||||
"admin_user_section_profile": "Profile",
|
||||
"admin_user_label_registration": "Registration",
|
||||
"admin_user_label_ref_code": "Referral Code",
|
||||
"admin_user_label_invited_by": "Invited by",
|
||||
"admin_user_label_invited_users": "Invited users",
|
||||
"admin_user_invited_by_none": "—",
|
||||
"admin_user_invitees_open": "Show",
|
||||
"admin_user_open_related": "Open user card",
|
||||
"admin_user_invitees_title": "Invited users",
|
||||
"admin_user_invitees_description": "{name} · {count}",
|
||||
"admin_user_col_user": "User",
|
||||
"admin_user_section_links": "Links",
|
||||
"admin_user_copy_tooltip": "Copy",
|
||||
"admin_user_sub_link_copied": "Subscription link copied",
|
||||
@@ -1373,6 +1388,9 @@
|
||||
"admin_ads_col_registrations": "Registrations",
|
||||
"admin_ads_col_conversions": "Conversions",
|
||||
"admin_no_data": "No data",
|
||||
"admin_pagination_meta": "{current}/{total}",
|
||||
"admin_prev_page": "Back",
|
||||
"admin_next_page": "Next",
|
||||
"admin_settings_hint": "Changes in the admin panel take precedence over .env. The 'Reset' button returns the value from environment variables.",
|
||||
"admin_settings_legacy_tariffs_warning_title": "remnawave-tg-shop legacy compatibility",
|
||||
"admin_settings_legacy_tariffs_warning_body": "These fields are only for the old mode without a JSON catalog. They do not apply when tariffs are configured in the dedicated Tariffs section.",
|
||||
|
||||
@@ -440,6 +440,13 @@
|
||||
"admin_user_referral_revenue_label": "💸 <b>Доход по рефералам:</b>",
|
||||
"admin_user_invited_friends_label": "👥 <b>Приглашено друзей:</b>",
|
||||
"admin_user_ref_purchased_label": "💳 <b>Купили подписку:</b>",
|
||||
"admin_user_invited_by_label": "🎁 <b>Пригласил:</b>",
|
||||
"admin_user_invitees_button": "👥 Приглашённые",
|
||||
"admin_user_invitees_message_title": "👥 <b>Пользователи, приглашённые {user}</b>\n\nВсего: <b>{total}</b>. Страница {current}/{total_pages}.",
|
||||
"admin_user_invitees_empty": "Пользователь пока никого не пригласил.",
|
||||
"admin_user_invitee_item": "{index}. {user}{suffix}",
|
||||
"admin_user_invitee_registered_suffix": " · регистрация {date}",
|
||||
"admin_user_invitees_error": "❌ Ошибка загрузки приглашённых пользователей",
|
||||
"admin_user_links_section_title": "🔗 <b>Ссылки</b>",
|
||||
"admin_user_subscription_url_label": "📡 <b>Подписка:</b>",
|
||||
"admin_user_ref_bot_link_label": "🤖 <b>Реф. ссылка (бот):</b>",
|
||||
@@ -1247,6 +1254,14 @@
|
||||
"admin_user_section_profile": "Профиль",
|
||||
"admin_user_label_registration": "Регистрация",
|
||||
"admin_user_label_ref_code": "Реф. код",
|
||||
"admin_user_label_invited_by": "Пригласил",
|
||||
"admin_user_label_invited_users": "Приглашённые",
|
||||
"admin_user_invited_by_none": "—",
|
||||
"admin_user_invitees_open": "Показать",
|
||||
"admin_user_open_related": "Открыть карточку",
|
||||
"admin_user_invitees_title": "Приглашённые пользователи",
|
||||
"admin_user_invitees_description": "{name} · {count}",
|
||||
"admin_user_col_user": "Пользователь",
|
||||
"admin_user_section_links": "Ссылки",
|
||||
"admin_user_copy_tooltip": "Скопировать",
|
||||
"admin_user_sub_link_copied": "Ссылка на подписку скопирована",
|
||||
@@ -1373,6 +1388,9 @@
|
||||
"admin_ads_col_registrations": "Регистрации",
|
||||
"admin_ads_col_conversions": "Конверсии",
|
||||
"admin_no_data": "Нет данных",
|
||||
"admin_pagination_meta": "{current}/{total}",
|
||||
"admin_prev_page": "Назад",
|
||||
"admin_next_page": "Вперёд",
|
||||
"admin_settings_hint": "Изменения в админке имеют приоритет над .env. Кнопка «Сбросить» возвращает значение из переменных окружения.",
|
||||
"admin_settings_legacy_tariffs_warning_title": "Совместимость с remnawave-tg-shop legacy",
|
||||
"admin_settings_legacy_tariffs_warning_body": "Эти поля нужны только для старого режима без JSON-каталога. Если тарифы настроены через отдельный раздел «Тарифы», они не применяются.",
|
||||
|
||||
Reference in New Issue
Block a user