From 115c684fe00d0e209953e4bdd3ff5d213909e423 Mon Sep 17 00:00:00 2001 From: Fringg Date: Sun, 8 Mar 2026 23:08:49 +0300 Subject: [PATCH] fix: device purchase guard condition and cache invalidation - Fix guard: available === false alone now properly gates the unavailability message (was incorrectly AND-ed with !max_device_limit) - Remove dead code block that was unreachable after guard fix - Add device-price cache invalidation after successful purchase --- src/pages/Subscription.tsx | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/pages/Subscription.tsx b/src/pages/Subscription.tsx index c3185a1..42ac831 100644 --- a/src/pages/Subscription.tsx +++ b/src/pages/Subscription.tsx @@ -276,6 +276,7 @@ export default function Subscription() { onSuccess: () => { queryClient.invalidateQueries({ queryKey: ['subscription'] }); queryClient.invalidateQueries({ queryKey: ['devices'] }); + queryClient.invalidateQueries({ queryKey: ['device-price'] }); setShowDeviceTopup(false); setDevicesToAdd(1); }, @@ -1196,7 +1197,7 @@ export default function Subscription() { {/* Check if completely unavailable (no subscription, price not set, etc.) */} - {devicePriceData?.available === false && !devicePriceData?.max_device_limit ? ( + {devicePriceData?.available === false ? (
{devicePriceData.reason || t('subscription.additionalOptions.devicesUnavailable')} @@ -1245,13 +1246,6 @@ export default function Subscription() {
)} - {/* 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 && (