fix(subscriptions): дать новым юзерам путь в витрину без активации триала

Новый пользователь с доступным триалом видел только TrialOfferCard (CTA
активации), без пути в витрину тарифов — приходилось сперва активировать
пробную. Добавлена вторичная кнопка «Посмотреть тарифы и купить подписку»
→ /subscription/purchase под карточкой триала на обеих страницах, где она
рендерится: Subscriptions и Dashboard (вход по умолчанию).

Telegram-баг #605056/#605063.
This commit is contained in:
c0mrade
2026-05-31 15:52:08 +03:00
parent c24ae0039c
commit 2d5982d82b
2 changed files with 39 additions and 14 deletions

View File

@@ -157,13 +157,26 @@ export default function Subscriptions() {
{/* Empty state: показываем триал, если доступен; иначе — обычный empty */}
{hasNoSubscriptions && !trialLoading && trialInfo?.is_available && (
<TrialOfferCard
trialInfo={trialInfo}
balanceKopeks={balanceData?.balance_kopeks ?? 0}
balanceRubles={balanceData?.balance_rubles ?? 0}
activateTrialMutation={activateTrialMutation}
trialError={trialError}
/>
<div className="space-y-4">
<TrialOfferCard
trialInfo={trialInfo}
balanceKopeks={balanceData?.balance_kopeks ?? 0}
balanceRubles={balanceData?.balance_rubles ?? 0}
activateTrialMutation={activateTrialMutation}
trialError={trialError}
/>
{/* Новый пользователь не обязан активировать триал, чтобы попасть
в витрину — даём явный путь к покупке подписки. Раньше при
доступном триале это был единственный экран без кнопки «Купить»
(Telegram-баг #605056/#605063). */}
<button
onClick={() => navigate('/subscription/purchase')}
className="w-full rounded-xl border px-6 py-3 text-sm font-medium transition-colors"
style={{ background: g.innerBg, borderColor: g.cardBorder, color: g.text }}
>
{t('subscriptions.browsePlans', 'Посмотреть тарифы и купить подписку')}
</button>
</div>
)}
{hasNoSubscriptions && !trialLoading && !trialInfo?.is_available && (
<EmptyState onBuy={() => navigate('/subscription/purchase')} />