diff --git a/src/components/subscription/SubscriptionListCard.tsx b/src/components/subscription/SubscriptionListCard.tsx index d92f7ff..48315af 100644 --- a/src/components/subscription/SubscriptionListCard.tsx +++ b/src/components/subscription/SubscriptionListCard.tsx @@ -82,7 +82,10 @@ export default function SubscriptionListCard({ }; const isTrial = subscription.is_trial; - const isActive = subscription.status === 'active' || subscription.status === 'trial'; + const isActive = + subscription.status === 'active' || + subscription.status === 'trial' || + subscription.status === 'limited'; const isExpired = subscription.status === 'expired' || subscription.status === 'disabled'; const trafficLimit = subscription.traffic_limit_gb; const trafficUsed = subscription.traffic_used_gb; @@ -95,21 +98,25 @@ export default function SubscriptionListCard({ const trafficColor = trafficPercent >= 90 ? 'bg-red-400' : trafficPercent >= 70 ? 'bg-amber-400' : 'bg-emerald-400'; - const borderColor = isTrial - ? 'rgba(251,191,36,0.2)' - : isExpired - ? 'rgba(255,59,92,0.15)' - : g.cardBorder; + const isLimitedStatus = subscription.status === 'limited'; - const bgColor = isTrial - ? isDark - ? 'rgba(251,191,36,0.04)' - : 'rgba(251,191,36,0.03)' - : isExpired + const borderColor = + isTrial || isLimitedStatus + ? 'rgba(251,191,36,0.2)' + : isExpired + ? 'rgba(255,59,92,0.15)' + : g.cardBorder; + + const bgColor = + isTrial || isLimitedStatus ? isDark - ? 'rgba(255,59,92,0.04)' - : 'rgba(255,59,92,0.03)' - : g.cardBg; + ? 'rgba(251,191,36,0.04)' + : 'rgba(251,191,36,0.03)' + : isExpired + ? isDark + ? 'rgba(255,59,92,0.04)' + : 'rgba(255,59,92,0.03)' + : g.cardBg; return ( - ) : ( -
-
- {t('subscription.deleteTitle', 'Удалить подписку?')} -
-
- {t( - 'subscription.deleteWarning', - 'Подписка будет удалена безвозвратно. Все данные, устройства и настройки будут потеряны. Это действие нельзя отменить.', - )} -
-
- - + + + {t('subscription.delete', 'Удалить подписку')} + + ) : ( +
+
+ {t('subscription.deleteTitle', 'Удалить подписку?')} +
+
+ {t( + 'subscription.deleteWarning', + 'Подписка будет удалена безвозвратно. Все данные, устройства и настройки будут потеряны. Это действие нельзя отменить.', + )} +
+
+ + +
-
- )} -
- )} + )} + + )} {/* Additional Options (Buy Devices) */} {subscription && diff --git a/src/pages/SubscriptionPurchase.tsx b/src/pages/SubscriptionPurchase.tsx index b3a888c..8221ece 100644 --- a/src/pages/SubscriptionPurchase.tsx +++ b/src/pages/SubscriptionPurchase.tsx @@ -781,7 +781,7 @@ export default function SubscriptionPurchase() { !isCurrentTariff && !subscription.is_trial && !isSubscriptionExpired && - subscription.is_active; + (subscription.is_active || subscription.is_limited); const isLegacySubscription = subscription && !subscription.is_trial && !subscription.tariff_id;