refactor: redesign Dashboard and Subscription pages with new components

Decompose monolithic Dashboard into SubscriptionCardActive,
SubscriptionCardExpired, TrialOfferCard, and StatsGrid sub-components.
Replace Subscription page progress bar with TrafficProgressBar compact.
Add i18n keys for traffic zones, stats labels, expired/trial states.
This commit is contained in:
Fringg
2026-02-25 10:08:05 +03:00
parent 909374d369
commit 78fe3c48eb
4 changed files with 145 additions and 420 deletions

View File

@@ -225,7 +225,41 @@
"noActiveSubscription": "No active subscription",
"devicesUsed": "Devices: {{used}} of {{total}}",
"trafficUsed": "Traffic: {{used}} of {{total}} GB",
"unlimitedTraffic": "Unlimited traffic"
"unlimitedTraffic": "Unlimited traffic",
"zone": {
"normal": "Normal",
"warning": "Moderate",
"danger": "High",
"critical": "Critical"
},
"connectDevice": "Connect Device",
"devicesConnected": "{{count}} connected",
"trafficUsage": "{{used}} / {{limit}} GB",
"unlimited": "Unlimited",
"tariff": "Tariff",
"validUntil": "until {{date}}",
"daysRemaining": "Days left",
"expired": {
"title": "Subscription Expired",
"trialTitle": "Trial Expired",
"renew": "Renew",
"tariffs": "View Tariffs",
"traffic": "Traffic",
"devices": "Devices",
"expiredDate": "Expired"
},
"trialOffer": {
"freeTitle": "Free Trial Available",
"paidTitle": "Trial Subscription",
"freeDesc": "Try our VPN for free — no commitment required",
"paidDesc": "Get started with a trial subscription"
},
"stats": {
"balance": "Balance",
"subscription": "Subscription",
"referrals": "Referrals",
"earnings": "Earnings"
}
},
"subscription": {
"title": "Subscription",

View File

@@ -237,7 +237,41 @@
"noActiveSubscription": "Нет активной подписки",
"devicesUsed": "Устройств: {{used}} из {{total}}",
"trafficUsed": "Трафик: {{used}} из {{total}} ГБ",
"unlimitedTraffic": "Безлимитный трафик"
"unlimitedTraffic": "Безлимитный трафик",
"zone": {
"normal": "Норма",
"warning": "Умеренный",
"danger": "Высокий",
"critical": "Критический"
},
"connectDevice": "Подключить устройство",
"devicesConnected": "{{count}} подключено",
"trafficUsage": "{{used}} / {{limit}} ГБ",
"unlimited": "Безлимит",
"tariff": "Тариф",
"validUntil": "до {{date}}",
"daysRemaining": "Дней осталось",
"expired": {
"title": "Подписка истекла",
"trialTitle": "Пробный период истёк",
"renew": "Продлить",
"tariffs": "Тарифы",
"traffic": "Трафик",
"devices": "Устройства",
"expiredDate": "Истекла"
},
"trialOffer": {
"freeTitle": "Бесплатный пробный период",
"paidTitle": "Пробная подписка",
"freeDesc": "Попробуйте наш VPN бесплатно — без обязательств",
"paidDesc": "Начните с пробной подписки"
},
"stats": {
"balance": "Баланс",
"subscription": "Подписка",
"referrals": "Рефералы",
"earnings": "Заработок"
}
},
"subscription": {
"title": "Подписка",