mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-30 02:23:47 +00:00
feat: landing analytics goals, daily bar chart, referrer tracking, contact persistence
- Add per-landing analytics goals (view/click) with admin editor toggle - Add sticky pay button option for mobile landing pages - Add daily purchases bar chart (created vs paid) to landing stats - Replace single purchase count with created/paid split in stats summary - Add referrer tracking to purchases with hostname display in stats - Add time display to purchase cards alongside date - Pass user timezone to stats API for correct daily grouping - Clamp referrer (500 chars) and subid (255 chars) to backend limits - Persist contact value per-landing-slug in localStorage - Fire buy_success analytics goal on successful delivery - Export USER_TIMEZONE from format utils - Add analytics/stats translations for fa.json and zh.json locales Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3776,6 +3776,10 @@
|
||||
"discountOverridesHint": "Leave empty to use global discount",
|
||||
"discountPreview": "Preview",
|
||||
"discountActive": "Discount",
|
||||
"background": "Animated background",
|
||||
"analytics": "Analytics",
|
||||
"viewGoal": "View goal",
|
||||
"clickGoal": "Payment click goal",
|
||||
"statistics": "Statistics",
|
||||
"stats": {
|
||||
"title": "Landing Statistics",
|
||||
@@ -3796,7 +3800,8 @@
|
||||
"successful": "Successful",
|
||||
"funnel": "Funnel",
|
||||
"loadError": "Failed to load statistics",
|
||||
"noPurchases": "No purchases"
|
||||
"noPurchases": "No purchases",
|
||||
"paid": "paid"
|
||||
},
|
||||
"purchases": {
|
||||
"title": "Purchases",
|
||||
|
||||
@@ -3381,7 +3381,70 @@
|
||||
"loadingPeriods": "در حال بارگذاری...",
|
||||
"periodDaySuffix": "روز",
|
||||
"localeTab": "زبان",
|
||||
"localeHint": "زبان را تغییر دهید تا متن را به آن زبان ویرایش کنید"
|
||||
"localeHint": "زبان را تغییر دهید تا متن را به آن زبان ویرایش کنید",
|
||||
"discount": "تخفیف",
|
||||
"discountEnabled": "فعالسازی تخفیف",
|
||||
"discountPercent": "تخفیف %",
|
||||
"discountStartsAt": "تاریخ شروع",
|
||||
"discountEndsAt": "تاریخ پایان",
|
||||
"discountBadge": "متن بنر (اختیاری)",
|
||||
"discountBadgePlaceholder": "مثلاً حراج بهاره!",
|
||||
"discountOverrides": "تخفیفهای جداگانه برای هر طرح",
|
||||
"discountOverridesHint": "خالی بگذارید تا از تخفیف عمومی استفاده شود",
|
||||
"discountPreview": "پیشنمایش",
|
||||
"discountActive": "تخفیف",
|
||||
"background": "پسزمینه متحرک",
|
||||
"analytics": "تحلیلها",
|
||||
"viewGoal": "هدف بازدید",
|
||||
"clickGoal": "هدف کلیک پرداخت",
|
||||
"statistics": "آمار",
|
||||
"stats": {
|
||||
"title": "آمار صفحه فرود",
|
||||
"totalPurchases": "خریدها",
|
||||
"revenue": "درآمد",
|
||||
"giftPurchases": "هدایا",
|
||||
"regularPurchases": "عادی",
|
||||
"conversionRate": "نرخ تبدیل",
|
||||
"avgPurchase": "میانگین خرید",
|
||||
"dailyChart": "خرید و درآمد روزانه",
|
||||
"tariffChart": "توزیع طرحها",
|
||||
"giftBreakdown": "هدایا در مقابل عادی",
|
||||
"purchases": "خریدها",
|
||||
"revenueLabel": "درآمد",
|
||||
"gifts": "هدایا",
|
||||
"regular": "عادی",
|
||||
"created": "ایجاد شده",
|
||||
"successful": "موفق",
|
||||
"funnel": "قیف",
|
||||
"loadError": "بارگذاری آمار ناموفق بود",
|
||||
"noPurchases": "خریدی وجود ندارد",
|
||||
"paid": "پرداخت شده"
|
||||
},
|
||||
"purchases": {
|
||||
"title": "خریدها",
|
||||
"contact": "مخاطب",
|
||||
"recipient": "گیرنده",
|
||||
"tariff": "طرح",
|
||||
"period": "دوره",
|
||||
"days": "روز",
|
||||
"price": "قیمت",
|
||||
"method": "روش",
|
||||
"date": "تاریخ",
|
||||
"gift": "هدیه",
|
||||
"forSelf": "برای خود",
|
||||
"allStatuses": "همه وضعیتها",
|
||||
"status_pending": "در انتظار",
|
||||
"status_paid": "پرداخت شده",
|
||||
"status_delivered": "تحویل شده",
|
||||
"status_pending_activation": "در انتظار فعالسازی",
|
||||
"status_failed": "ناموفق",
|
||||
"status_expired": "منقضی شده",
|
||||
"noPurchases": "خریدی وجود ندارد",
|
||||
"showing": "نمایش {{from}}–{{to}} از {{total}}",
|
||||
"page": "صفحه {{current}} از {{total}}",
|
||||
"prev": "قبلی",
|
||||
"next": "بعدی"
|
||||
}
|
||||
},
|
||||
"infoPages": {
|
||||
"title": "صفحات اطلاعات",
|
||||
|
||||
@@ -4320,6 +4320,9 @@
|
||||
"discountPreview": "Предпросмотр",
|
||||
"discountActive": "Скидка",
|
||||
"background": "Анимированный фон",
|
||||
"analytics": "Аналитика",
|
||||
"viewGoal": "Цель просмотра",
|
||||
"clickGoal": "Цель клика оплаты",
|
||||
"statistics": "Статистика",
|
||||
"stats": {
|
||||
"title": "Статистика лендинга",
|
||||
@@ -4340,7 +4343,8 @@
|
||||
"successful": "Успешных",
|
||||
"funnel": "Воронка",
|
||||
"loadError": "Не удалось загрузить статистику",
|
||||
"noPurchases": "Нет покупок"
|
||||
"noPurchases": "Нет покупок",
|
||||
"paid": "оплачено"
|
||||
},
|
||||
"purchases": {
|
||||
"title": "Покупки",
|
||||
|
||||
@@ -3380,7 +3380,70 @@
|
||||
"loadingPeriods": "加载中...",
|
||||
"periodDaySuffix": "天",
|
||||
"localeTab": "语言",
|
||||
"localeHint": "切换语言以编辑该语言的文本"
|
||||
"localeHint": "切换语言以编辑该语言的文本",
|
||||
"discount": "折扣",
|
||||
"discountEnabled": "启用折扣",
|
||||
"discountPercent": "折扣 %",
|
||||
"discountStartsAt": "开始日期",
|
||||
"discountEndsAt": "结束日期",
|
||||
"discountBadge": "横幅文本(可选)",
|
||||
"discountBadgePlaceholder": "例如 春季特卖!",
|
||||
"discountOverrides": "各套餐独立折扣",
|
||||
"discountOverridesHint": "留空则使用全局折扣",
|
||||
"discountPreview": "预览",
|
||||
"discountActive": "折扣",
|
||||
"background": "动态背景",
|
||||
"analytics": "分析",
|
||||
"viewGoal": "浏览目标",
|
||||
"clickGoal": "支付点击目标",
|
||||
"statistics": "统计",
|
||||
"stats": {
|
||||
"title": "落地页统计",
|
||||
"totalPurchases": "购买次数",
|
||||
"revenue": "收入",
|
||||
"giftPurchases": "礼物",
|
||||
"regularPurchases": "普通",
|
||||
"conversionRate": "转化率",
|
||||
"avgPurchase": "平均客单价",
|
||||
"dailyChart": "每日购买与收入",
|
||||
"tariffChart": "套餐分布",
|
||||
"giftBreakdown": "礼物 vs 普通",
|
||||
"purchases": "购买",
|
||||
"revenueLabel": "收入",
|
||||
"gifts": "礼物",
|
||||
"regular": "普通",
|
||||
"created": "已创建",
|
||||
"successful": "成功",
|
||||
"funnel": "漏斗",
|
||||
"loadError": "加载统计失败",
|
||||
"noPurchases": "无购买记录",
|
||||
"paid": "已支付"
|
||||
},
|
||||
"purchases": {
|
||||
"title": "购买记录",
|
||||
"contact": "联系方式",
|
||||
"recipient": "收件人",
|
||||
"tariff": "套餐",
|
||||
"period": "周期",
|
||||
"days": "天",
|
||||
"price": "价格",
|
||||
"method": "方式",
|
||||
"date": "日期",
|
||||
"gift": "礼物",
|
||||
"forSelf": "自用",
|
||||
"allStatuses": "全部状态",
|
||||
"status_pending": "待处理",
|
||||
"status_paid": "已支付",
|
||||
"status_delivered": "已交付",
|
||||
"status_pending_activation": "待激活",
|
||||
"status_failed": "失败",
|
||||
"status_expired": "已过期",
|
||||
"noPurchases": "无购买记录",
|
||||
"showing": "显示第 {{from}}–{{to}} 条,共 {{total}} 条",
|
||||
"page": "第 {{current}} 页,共 {{total}} 页",
|
||||
"prev": "上一页",
|
||||
"next": "下一页"
|
||||
}
|
||||
},
|
||||
"infoPages": {
|
||||
"title": "信息页面",
|
||||
|
||||
Reference in New Issue
Block a user