mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-30 02:23:47 +00:00
feat: color-code referral network nodes by subscription status
Add subscription status colors: green (paid active), blue (trial active), red (paid expired), orange (trial expired). Extract NODE_COLORS constant as single source of truth. Add SubscriptionStatus union type. Show status badge in user detail panel. Add i18n for all 4 locales.
This commit is contained in:
@@ -1257,7 +1257,11 @@
|
||||
"topReferrer": "Top referrer (10+)",
|
||||
"campaignUser": "From campaign",
|
||||
"partnerCampaignEdge": "Partner → Campaign",
|
||||
"campaignNode": "Ad campaign"
|
||||
"campaignNode": "Ad campaign",
|
||||
"paidActive": "Paid subscription",
|
||||
"trialActive": "Trial",
|
||||
"paidExpired": "Paid expired",
|
||||
"trialExpired": "Trial expired"
|
||||
},
|
||||
"user": {
|
||||
"tgId": "TG ID",
|
||||
@@ -1276,7 +1280,13 @@
|
||||
"source": "Source",
|
||||
"referredBy": "Referred by",
|
||||
"fromCampaign": "Campaign",
|
||||
"organic": "Organic"
|
||||
"organic": "Organic",
|
||||
"subscriptionStatus": {
|
||||
"trial_active": "Trial",
|
||||
"paid_active": "Paid",
|
||||
"trial_expired": "Trial expired",
|
||||
"paid_expired": "Paid expired"
|
||||
}
|
||||
},
|
||||
"campaign": {
|
||||
"startParam": "Parameter",
|
||||
|
||||
@@ -1091,7 +1091,11 @@
|
||||
"topReferrer": "ارجاعدهنده برتر (+۱۰)",
|
||||
"campaignUser": "از کمپین",
|
||||
"partnerCampaignEdge": "شریک → کمپین",
|
||||
"campaignNode": "کمپین تبلیغاتی"
|
||||
"campaignNode": "کمپین تبلیغاتی",
|
||||
"paidActive": "اشتراک پرداختی",
|
||||
"trialActive": "آزمایشی",
|
||||
"paidExpired": "اشتراک پرداختی منقضی",
|
||||
"trialExpired": "آزمایشی منقضی"
|
||||
},
|
||||
"user": {
|
||||
"tgId": "شناسه TG",
|
||||
@@ -1110,7 +1114,13 @@
|
||||
"source": "منبع",
|
||||
"referredBy": "معرفی شده توسط",
|
||||
"fromCampaign": "کمپین",
|
||||
"organic": "طبیعی"
|
||||
"organic": "طبیعی",
|
||||
"subscriptionStatus": {
|
||||
"trial_active": "آزمایشی",
|
||||
"paid_active": "پرداختی",
|
||||
"trial_expired": "آزمایشی منقضی",
|
||||
"paid_expired": "پرداختی منقضی"
|
||||
}
|
||||
},
|
||||
"campaign": {
|
||||
"startParam": "پارامتر",
|
||||
|
||||
@@ -1278,7 +1278,11 @@
|
||||
"topReferrer": "Топ-реферер (10+)",
|
||||
"campaignUser": "Из кампании",
|
||||
"partnerCampaignEdge": "Партнёр → РК",
|
||||
"campaignNode": "Рекламная кампания"
|
||||
"campaignNode": "Рекламная кампания",
|
||||
"paidActive": "Платная подписка",
|
||||
"trialActive": "Триал",
|
||||
"paidExpired": "Платная истекла",
|
||||
"trialExpired": "Триал истёк"
|
||||
},
|
||||
"user": {
|
||||
"tgId": "TG ID",
|
||||
@@ -1297,7 +1301,13 @@
|
||||
"source": "Источник",
|
||||
"referredBy": "Пришёл от",
|
||||
"fromCampaign": "РК",
|
||||
"organic": "Органический"
|
||||
"organic": "Органический",
|
||||
"subscriptionStatus": {
|
||||
"trial_active": "Триал",
|
||||
"paid_active": "Платная",
|
||||
"trial_expired": "Триал истёк",
|
||||
"paid_expired": "Платная истекла"
|
||||
}
|
||||
},
|
||||
"campaign": {
|
||||
"startParam": "Параметр",
|
||||
|
||||
@@ -1091,7 +1091,11 @@
|
||||
"topReferrer": "顶级推荐人 (10+)",
|
||||
"campaignUser": "来自活动",
|
||||
"partnerCampaignEdge": "合作伙伴 → 活动",
|
||||
"campaignNode": "广告活动"
|
||||
"campaignNode": "广告活动",
|
||||
"paidActive": "付费订阅",
|
||||
"trialActive": "试用",
|
||||
"paidExpired": "付费已过期",
|
||||
"trialExpired": "试用已过期"
|
||||
},
|
||||
"user": {
|
||||
"tgId": "TG ID",
|
||||
@@ -1110,7 +1114,13 @@
|
||||
"source": "来源",
|
||||
"referredBy": "由...推荐",
|
||||
"fromCampaign": "活动",
|
||||
"organic": "自然流量"
|
||||
"organic": "自然流量",
|
||||
"subscriptionStatus": {
|
||||
"trial_active": "试用",
|
||||
"paid_active": "付费",
|
||||
"trial_expired": "试用已过期",
|
||||
"paid_expired": "付费已过期"
|
||||
}
|
||||
},
|
||||
"campaign": {
|
||||
"startParam": "参数",
|
||||
|
||||
Reference in New Issue
Block a user