mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-28 09:33:46 +00:00
fix(dashboard): убрать дубль кнопки покупки при пустом списке подписок
Мульти-тариф блок рендерился даже при пустом списке подписок (пустой массив truthy) — показывал заголовок «Подписки» и кнопку покупки, которая дублировала кнопку из блока «нет подписок» (триал-оффер). Получалось две одинаковые «Посмотреть тарифы и купить подписку». Теперь мульти-тариф блок рендерится только когда подписки реально есть (length > 0), а блок «нет подписок» показывает триал (если доступен) и ВСЕГДА одну явную кнопку покупки — заодно закрывает случай «нет подписок и триал недоступен» (раньше его прикрывал пустой мульти-тариф блок).
This commit is contained in:
@@ -279,8 +279,10 @@ export default function Dashboard() {
|
||||
{/* Pending Gift Activations */}
|
||||
{pendingGifts && pendingGifts.length > 0 && <PendingGiftCard gifts={pendingGifts} />}
|
||||
|
||||
{/* Multi-tariff: show subscription cards (max 3) */}
|
||||
{isMultiTariff && multiSubData?.subscriptions && (
|
||||
{/* Multi-tariff: show subscription cards (max 3) — только когда подписки
|
||||
реально есть. Пустой случай (нет подписок) ведёт блок ниже (триал/покупка),
|
||||
иначе кнопка покупки дублировалась. */}
|
||||
{isMultiTariff && multiSubData?.subscriptions && multiSubData.subscriptions.length > 0 && (
|
||||
<div className="space-y-3">
|
||||
<div className="flex items-center justify-between px-1">
|
||||
<span className="text-sm font-medium opacity-60">
|
||||
@@ -361,9 +363,14 @@ export default function Dashboard() {
|
||||
</>
|
||||
)}
|
||||
|
||||
{/* Trial Activation */}
|
||||
{hasNoSubscription && !trialLoading && trialInfo?.is_available && (
|
||||
{/* Нет подписок: показываем триал (если доступен) и ВСЕГДА одну явную
|
||||
кнопку покупки. Триал не обязателен, чтобы попасть в витрину — раньше
|
||||
при доступном триале это был единственный экран без кнопки покупки
|
||||
(Telegram-баг #605056/#605063). Единственная кнопка тут (вместо дубля
|
||||
с мульти-тариф блоком). */}
|
||||
{hasNoSubscription && !trialLoading && (
|
||||
<div className="space-y-3">
|
||||
{trialInfo?.is_available && (
|
||||
<TrialOfferCard
|
||||
trialInfo={trialInfo}
|
||||
balanceKopeks={balanceData?.balance_kopeks || 0}
|
||||
@@ -371,10 +378,7 @@ export default function Dashboard() {
|
||||
activateTrialMutation={activateTrialMutation}
|
||||
trialError={trialError}
|
||||
/>
|
||||
{/* Новый пользователь не обязан активировать триал, чтобы попасть в
|
||||
витрину — даём явный путь к покупке подписки. Раньше при доступном
|
||||
триале это был единственный экран без кнопки покупки, и на дашборде
|
||||
(вход по умолчанию) юзер оставался заперт (Telegram-баг #605056/#605063). */}
|
||||
)}
|
||||
<Link
|
||||
to="/subscription/purchase"
|
||||
className="flex w-full items-center justify-center gap-2 rounded-2xl bg-accent-500 p-3.5 text-sm font-semibold text-white transition-colors hover:bg-accent-600"
|
||||
|
||||
Reference in New Issue
Block a user