From 475ce7d13f23049444c6aa7194df2725db96ad21 Mon Sep 17 00:00:00 2001 From: Egor Date: Wed, 28 Jan 2026 20:33:54 +0300 Subject: [PATCH] Update Subscription.tsx --- src/pages/Subscription.tsx | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/src/pages/Subscription.tsx b/src/pages/Subscription.tsx index aeab231..eba7467 100644 --- a/src/pages/Subscription.tsx +++ b/src/pages/Subscription.tsx @@ -1014,12 +1014,15 @@ export default function Subscription() { - {devicePriceData?.available === false ? ( + {/* Check if completely unavailable (no subscription, price not set, etc.) */} + {devicePriceData?.available === false && + !devicePriceData?.max_device_limit ? (
{devicePriceData.reason || t('subscription.additionalOptions.devicesUnavailable')}
) : (
+ {/* Device selector - show even at max limit */}
- {devicePriceData && ( + {/* Show limit info when at or near max */} + {devicePriceData?.max_device_limit && ( +
+ {t('subscription.additionalOptions.currentDeviceLimit', { + count: devicePriceData.current_device_limit || subscription.device_limit, + })}{' '} + / {t('subscription.additionalOptions.maxDevices', { + count: devicePriceData.max_device_limit, + })} +
+ )} + + {/* Show reason if can't add requested amount */} + {devicePriceData?.available === false && devicePriceData?.reason && ( +
+ {devicePriceData.reason} +
+ )} + + {/* Price info - only when available */} + {devicePriceData?.available && devicePriceData.price_per_device_label && (
{devicePriceData.price_per_device_label}/ @@ -1055,7 +1084,7 @@ export default function Subscription() {
)} - {devicePriceData && + {devicePriceData?.available && purchaseOptions && devicePriceData.total_price_kopeks && devicePriceData.total_price_kopeks > purchaseOptions.balance_kopeks && ( @@ -1071,6 +1100,7 @@ export default function Subscription() { onClick={() => devicePurchaseMutation.mutate()} disabled={ devicePurchaseMutation.isPending || + !devicePriceData?.available || !!( devicePriceData?.total_price_kopeks && purchaseOptions &&