fix: complete is_limited status handling across all views

- SubscriptionListCard: show traffic progress bar for limited subs
  in multi-tariff list (was hidden because isActive excluded limited)
- SubscriptionListCard: amber border/background for limited status
  cards (was using default neutral style, inconsistent with rest of UI)
- Subscription page: hide delete button for limited subs in
  multi-tariff mode (limited subs still have valid days remaining)
- SubscriptionPurchase: allow tariff switch for limited subs
  (was blocked by is_active-only gate in canSwitch formula)
- AdminUserDetail: include limited status in "already purchased"
  tariff filter to prevent duplicate subscription creation
This commit is contained in:
Fringg
2026-04-23 04:04:11 +03:00
parent f68b46699c
commit 1d5ce2d4ea
4 changed files with 111 additions and 97 deletions

View File

@@ -1658,7 +1658,10 @@ export default function AdminUserDetail() {
.filter((tariffItem) => {
const purchasedIds = new Set(
userSubscriptions
.filter((s) => s.is_active || s.status === 'trial')
.filter(
(s) =>
s.is_active || s.status === 'trial' || s.status === 'limited',
)
.map((s) => s.tariff_id),
);
return !purchasedIds.has(tariffItem.id);