mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-30 02:23:47 +00:00
feat: add recharts analytics to admin campaign stats page
- Move shared chart components (DailyChart, PeriodComparison, StatCard) to src/components/stats/ with configurable label props - Create shared types for chart data decoupled from partner API - Add campaign chart data API client with deposits/spending split - Enhance AdminCampaignStats with daily trends chart, period comparison, top registrations, and deposit/spending stat cards - Add useChartColors hook with SSR guard and theme-aware CSS variable parsing - Add cross-platform clipboard utility with execCommand fallback for Telegram WebView - Add i18n keys for chart analytics across all 4 locales (en, ru, zh, fa) - Responsive fixes: truncation for long names/values, responsive text sizing, touch-friendly copy buttons
This commit is contained in:
@@ -750,6 +750,28 @@
|
||||
"tariff": "Bonus tariff",
|
||||
"tariffDesc": "Free tariff plan"
|
||||
},
|
||||
"stats": {
|
||||
"registrations": "Registrations",
|
||||
"referrals": "Referrals",
|
||||
"earnings": "Earnings",
|
||||
"conversionRate": "Conversion",
|
||||
"today": "Today",
|
||||
"week": "Week",
|
||||
"month": "Month",
|
||||
"showDetails": "Details",
|
||||
"hideDetails": "Collapse",
|
||||
"vsLastWeek": "vs last week",
|
||||
"topReferrals": "Top Referrals",
|
||||
"noData": "No data",
|
||||
"dailyChart": "30-day trends",
|
||||
"periodComparison": "Period comparison",
|
||||
"noReferrals": "No referrals yet",
|
||||
"paid": "Paid",
|
||||
"pending": "Pending",
|
||||
"active": "Active",
|
||||
"referralsCount": "Referrals",
|
||||
"earningsAmount": "Earned"
|
||||
},
|
||||
"fields": {
|
||||
"companyName": "Company Name",
|
||||
"companyNamePlaceholder": "Your company or brand name",
|
||||
@@ -1991,7 +2013,17 @@
|
||||
"users": "Users",
|
||||
"noUsers": "No registered users",
|
||||
"paid": "Paid",
|
||||
"hasSub": "Has sub"
|
||||
"hasSub": "Has sub",
|
||||
"dailyChart": "30-day trends",
|
||||
"chartRegistrations": "Registrations",
|
||||
"chartRevenue": "Revenue",
|
||||
"totalDeposits": "Total Deposits",
|
||||
"totalSpending": "Subscription Spending",
|
||||
"periodComparison": "Period comparison",
|
||||
"vsLastWeek": "vs last week",
|
||||
"topRegistrations": "Top registrations",
|
||||
"noRegistrations": "No registrations yet",
|
||||
"chartLoading": "Loading chart data..."
|
||||
},
|
||||
"users": {
|
||||
"title": "Campaign Users",
|
||||
|
||||
@@ -584,6 +584,28 @@
|
||||
"tariff": "تعرفه جایزه",
|
||||
"tariffDesc": "طرح تعرفه رایگان"
|
||||
},
|
||||
"stats": {
|
||||
"registrations": "ثبتنام",
|
||||
"referrals": "معرفیشدهها",
|
||||
"earnings": "درآمد",
|
||||
"conversionRate": "نرخ تبدیل",
|
||||
"today": "امروز",
|
||||
"week": "هفته",
|
||||
"month": "ماه",
|
||||
"showDetails": "جزئیات",
|
||||
"hideDetails": "بستن",
|
||||
"vsLastWeek": "مقایسه با هفته قبل",
|
||||
"topReferrals": "برترین معرفیشدهها",
|
||||
"noData": "دادهای نیست",
|
||||
"dailyChart": "روند ۳۰ روزه",
|
||||
"periodComparison": "مقایسه دورهها",
|
||||
"noReferrals": "هنوز معرفیشدهای نیست",
|
||||
"paid": "پرداخت شده",
|
||||
"pending": "در انتظار",
|
||||
"active": "فعال",
|
||||
"referralsCount": "تعداد معرفی",
|
||||
"earningsAmount": "کسب شده"
|
||||
},
|
||||
"fields": {
|
||||
"companyName": "نام شرکت",
|
||||
"companyNamePlaceholder": "نام شرکت یا برند شما",
|
||||
@@ -1670,7 +1692,17 @@
|
||||
"users": "کاربران",
|
||||
"noUsers": "کاربر ثبتنام شدهای وجود ندارد",
|
||||
"paid": "پرداخت کرده",
|
||||
"hasSub": "دارای اشتراک"
|
||||
"hasSub": "دارای اشتراک",
|
||||
"dailyChart": "روند ۳۰ روزه",
|
||||
"chartRegistrations": "ثبتنامها",
|
||||
"chartRevenue": "درآمد",
|
||||
"totalDeposits": "کل واریزیها",
|
||||
"totalSpending": "هزینه اشتراک",
|
||||
"periodComparison": "مقایسه دورهها",
|
||||
"vsLastWeek": "نسبت به هفته قبل",
|
||||
"topRegistrations": "بالاترین ثبتنامها",
|
||||
"noRegistrations": "هنوز ثبتنامی وجود ندارد",
|
||||
"chartLoading": "در حال بارگذاری..."
|
||||
},
|
||||
"users": {
|
||||
"title": "کاربران کمپین",
|
||||
|
||||
@@ -778,6 +778,28 @@
|
||||
"tariff": "Бонусный тариф",
|
||||
"tariffDesc": "Бесплатный тарифный план"
|
||||
},
|
||||
"stats": {
|
||||
"registrations": "Регистрации",
|
||||
"referrals": "Рефералы",
|
||||
"earnings": "Заработок",
|
||||
"conversionRate": "Конверсия",
|
||||
"today": "Сегодня",
|
||||
"week": "Неделя",
|
||||
"month": "Месяц",
|
||||
"showDetails": "Подробнее",
|
||||
"hideDetails": "Свернуть",
|
||||
"vsLastWeek": "vs прошлая неделя",
|
||||
"topReferrals": "Топ рефералы",
|
||||
"noData": "Нет данных",
|
||||
"dailyChart": "Динамика за 30 дней",
|
||||
"periodComparison": "Сравнение периодов",
|
||||
"noReferrals": "Пока нет рефералов",
|
||||
"paid": "Оплатил",
|
||||
"pending": "Ожидание",
|
||||
"active": "Активен",
|
||||
"referralsCount": "Рефералов",
|
||||
"earningsAmount": "Заработано"
|
||||
},
|
||||
"fields": {
|
||||
"companyName": "Название компании",
|
||||
"companyNamePlaceholder": "Название вашей компании или бренда",
|
||||
@@ -2512,7 +2534,17 @@
|
||||
"users": "Пользователи",
|
||||
"noUsers": "Нет зарегистрированных пользователей",
|
||||
"paid": "Платил",
|
||||
"hasSub": "Подписка"
|
||||
"hasSub": "Подписка",
|
||||
"dailyChart": "Динамика за 30 дней",
|
||||
"chartRegistrations": "Регистрации",
|
||||
"chartRevenue": "Доход",
|
||||
"totalDeposits": "Всего пополнений",
|
||||
"totalSpending": "Расход на подписки",
|
||||
"periodComparison": "Сравнение периодов",
|
||||
"vsLastWeek": "vs прошлая неделя",
|
||||
"topRegistrations": "Топ регистрации",
|
||||
"noRegistrations": "Пока нет регистраций",
|
||||
"chartLoading": "Загрузка данных..."
|
||||
},
|
||||
"users": {
|
||||
"title": "Пользователи кампании",
|
||||
|
||||
@@ -584,6 +584,28 @@
|
||||
"tariff": "奖励套餐",
|
||||
"tariffDesc": "免费套餐方案"
|
||||
},
|
||||
"stats": {
|
||||
"registrations": "注册",
|
||||
"referrals": "推荐",
|
||||
"earnings": "收入",
|
||||
"conversionRate": "转化率",
|
||||
"today": "今天",
|
||||
"week": "本周",
|
||||
"month": "本月",
|
||||
"showDetails": "详情",
|
||||
"hideDetails": "收起",
|
||||
"vsLastWeek": "对比上周",
|
||||
"topReferrals": "热门推荐",
|
||||
"noData": "暂无数据",
|
||||
"dailyChart": "30天趋势",
|
||||
"periodComparison": "周期对比",
|
||||
"noReferrals": "暂无推荐",
|
||||
"paid": "已付款",
|
||||
"pending": "待处理",
|
||||
"active": "活跃",
|
||||
"referralsCount": "推荐数",
|
||||
"earningsAmount": "收入"
|
||||
},
|
||||
"fields": {
|
||||
"companyName": "公司名称",
|
||||
"companyNamePlaceholder": "您的公司或品牌名称",
|
||||
@@ -1669,7 +1691,17 @@
|
||||
"users": "用户",
|
||||
"noUsers": "没有注册用户",
|
||||
"paid": "已付费",
|
||||
"hasSub": "有订阅"
|
||||
"hasSub": "有订阅",
|
||||
"dailyChart": "30天趋势",
|
||||
"chartRegistrations": "注册",
|
||||
"chartRevenue": "收入",
|
||||
"totalDeposits": "总充值",
|
||||
"totalSpending": "订阅支出",
|
||||
"periodComparison": "期间比较",
|
||||
"vsLastWeek": "与上周对比",
|
||||
"topRegistrations": "热门注册",
|
||||
"noRegistrations": "暂无注册",
|
||||
"chartLoading": "加载图表数据..."
|
||||
},
|
||||
"users": {
|
||||
"title": "活动用户",
|
||||
|
||||
Reference in New Issue
Block a user