From bcbfa4191e1727ece7053c84329502f2b0d36709 Mon Sep 17 00:00:00 2001 From: c0mrade Date: Thu, 19 Mar 2026 20:47:48 +0300 Subject: [PATCH] feat: multi-tariff purchase UX - disable switch, show Buy for new tariffs, correct page title --- src/pages/SubscriptionPurchase.tsx | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/pages/SubscriptionPurchase.tsx b/src/pages/SubscriptionPurchase.tsx index 71a866d..6655aaa 100644 --- a/src/pages/SubscriptionPurchase.tsx +++ b/src/pages/SubscriptionPurchase.tsx @@ -74,6 +74,14 @@ export default function SubscriptionPurchase() { const tariffs = isTariffsMode && purchaseOptions && 'tariffs' in purchaseOptions ? purchaseOptions.tariffs : []; + // Multi-tariff: check via subscriptions list query + const { data: multiSubData } = useQuery({ + queryKey: ['subscriptions-list'], + queryFn: () => subscriptionApi.getSubscriptions(), + staleTime: 60_000, + }); + const isMultiTariff = multiSubData?.multi_tariff_enabled ?? false; + // Helper to apply promo discount const applyPromoDiscount = ( priceKopeks: number, @@ -451,11 +459,13 @@ export default function SubscriptionPurchase() {

- {subscription?.is_daily && !subscription?.is_trial - ? t('subscription.switchTariff.title') - : subscription && !subscription.is_trial - ? t('subscription.extend') - : t('subscription.getSubscription')} + {isMultiTariff && !subscriptionId + ? t('subscription.buyTariff', 'Купить тариф') + : subscription?.is_daily && !subscription?.is_trial + ? t('subscription.switchTariff.title') + : subscription && !subscription.is_trial + ? t('subscription.extend') + : t('subscription.getSubscription')}

@@ -776,6 +786,7 @@ export default function SubscriptionPurchase() { 'subscription_is_expired' in purchaseOptions && purchaseOptions.subscription_is_expired === true; const canSwitch = + !isMultiTariff && subscription && subscription.tariff_id && !isCurrentTariff &&