diff --git a/src/pages/Dashboard.tsx b/src/pages/Dashboard.tsx
index 2dfde26..aad5bb7 100644
--- a/src/pages/Dashboard.tsx
+++ b/src/pages/Dashboard.tsx
@@ -122,6 +122,7 @@ export default function Dashboard() {
setTrialError(null)
queryClient.invalidateQueries({ queryKey: ['subscription'] })
queryClient.invalidateQueries({ queryKey: ['trial-info'] })
+ queryClient.invalidateQueries({ queryKey: ['balance'] })
refreshUser()
},
onError: (error: { response?: { data?: { detail?: string } } }) => {
@@ -455,7 +456,9 @@ export default function Dashboard() {
- {t('subscription.trial.title', 'Free Trial')}
+ {trialInfo.requires_payment
+ ? t('subscription.trial.titlePaid', 'Trial Subscription')
+ : t('subscription.trial.title', 'Free Trial')}
{t('subscription.trial.description', 'Try our VPN service for free!')}
@@ -467,7 +470,7 @@ export default function Dashboard() {
{t('subscription.trial.days', 'days')}
-
{trialInfo.traffic_limit_gb}
+
{trialInfo.traffic_limit_gb || '∞'}
GB
@@ -477,9 +480,23 @@ export default function Dashboard() {
{trialInfo.requires_payment && trialInfo.price_rubles > 0 && (
-
- {t('subscription.trial.price', 'Activation price')}: {trialInfo.price_rubles.toFixed(2)} ₽
-
+
+
+ {t('subscription.trial.price', 'Activation price')}:
+ {trialInfo.price_rubles.toFixed(2)} {currencySymbol}
+
+
+ {t('balance.currentBalance', 'Your balance')}:
+ = trialInfo.price_kopeks ? 'text-success-400' : 'text-warning-400'}`}>
+ {formatAmount(balanceData?.balance_rubles || 0)} {currencySymbol}
+
+
+ {(balanceData?.balance_kopeks || 0) < trialInfo.price_kopeks && (
+
+ {t('subscription.trial.insufficientBalance', 'Top up your balance to activate')}
+
+ )}
+
)}
{trialError && (
@@ -488,15 +505,33 @@ export default function Dashboard() {
)}
-
+ {trialInfo.requires_payment && trialInfo.price_kopeks > 0 ? (
+ (balanceData?.balance_kopeks || 0) >= trialInfo.price_kopeks ? (
+
+ ) : (
+
+ {t('subscription.trial.topUpToActivate', 'Top Up Balance')}
+
+ )
+ ) : (
+
+ )}