From 085958342e023ecf5811208644a1db54029ab67b Mon Sep 17 00:00:00 2001 From: c0mrade Date: Wed, 3 Jun 2026 12:25:20 +0300 Subject: [PATCH] =?UTF-8?q?feat(landing):=20=D1=84=D0=BE=D0=BB=D0=B1=D1=8D?= =?UTF-8?q?=D0=BA=20=D0=BD=D0=B0=20=D0=B3=D0=BB=D0=BE=D0=B1=D0=B0=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D1=83=D1=8E=20=D1=82=D0=B5=D0=BC=D1=83=20=D0=BA?= =?UTF-8?q?=D0=B0=D0=B1=D0=B8=D0=BD=D0=B5=D1=82=D0=B0,=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=B3=D0=B4=D0=B0=20=D1=83=20=D0=BB=D0=B5=D0=BD=D0=B4=D0=B8?= =?UTF-8?q?=D0=BD=D0=B3=D0=B0=20=D1=81=D0=B2=D0=BE=D1=8F=20=D0=BD=D0=B5=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit У лендинга есть собственное поле background_config (тема на каждый лендинг). Если оно не заполнено, лендинг показывал голый bg-dark-950, тогда как кабинет всегда рисует глобальную тему-анимацию (BackgroundRenderer → getAnimationConfig). Теперь: задан background_config → своя тема лендинга (StaticBackgroundRenderer), пусто → глобальная тема кабинета (BackgroundRenderer). Обёртка больше не красится непрозрачным bg-dark-950 — фон рисуется порталом за контентом поверх body #0a0f1a, ровно как в AppShell. Глобальный конфиг анимации тянется из публичного эндпоинта. --- src/pages/QuickPurchase.tsx | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/pages/QuickPurchase.tsx b/src/pages/QuickPurchase.tsx index 3977310..b054eb1 100644 --- a/src/pages/QuickPurchase.tsx +++ b/src/pages/QuickPurchase.tsx @@ -21,7 +21,10 @@ import type { LandingPaymentMethod, PurchaseRequest, } from '../api/landings'; -import { StaticBackgroundRenderer } from '../components/backgrounds/BackgroundRenderer'; +import { + BackgroundRenderer, + StaticBackgroundRenderer, +} from '../components/backgrounds/BackgroundRenderer'; import { CheckCircleIcon, CheckIcon, DevicesIcon, DownloadIcon } from '@/components/icons'; import LanguageSwitcher from '../components/LanguageSwitcher'; import { cn } from '../lib/utils'; @@ -1105,8 +1108,16 @@ export default function QuickPurchase() { const showTariffCards = visibleTariffs.length > 1; return ( -
- {config.background_config && } +
+ {/* Background: the landing's own per-landing theme when configured, else + fall back to the cabinet's global animated theme (instead of a bare + dark canvas). Both render via a portal behind the content, so the + wrapper stays transparent over the body's #0a0f1a. */} + {config.background_config ? ( + + ) : ( + + )}
{/* Language switcher */}