Обзор
Cabinet включает библиотеку из 15 анимированных фонов, работающих как полноэкранные визуальные эффекты за контентом. Фоны построены на основе компонентов Aceternity UI, оптимизированных для производительности в браузере и Telegram MiniApp.15 эффектов
CSS, Canvas и SVG-анимации на выбор
Live-превью
Предпросмотр прямо в админке при настройке
Мобильная оптимизация
Автоматическое снижение нагрузки на мобильных устройствах
Доступные фоны
CSS-анимации
| Тип | Описание | Настройки |
|---|---|---|
| Aurora | Градиентное свечение с плавными переливами | 3 цвета, скорость (медленно / нормально / быстро) |
| Gradient Animation | Анимированный многоцветный градиент | 5 цветов, интерактивность мышью, размер |
| Grid | Сетка с анимацией | Размер ячейки, цвет |
| Dots | Точечный паттерн | Размер ячейки, размер точки |
| Spotlight | Двигающийся луч света | Цвет, размер |
Canvas-анимации
| Тип | Описание | Настройки |
|---|---|---|
| Sparkles | Мерцающие частицы | Плотность, размер, скорость |
| Vortex | Спиральный вихрь частиц | Количество, радиус, оттенок, скорость |
| Shooting Stars | Падающие звёзды | Цвет звёзд и хвоста, плотность, скорость |
| Wavy | Волновое искажение | Скорость, ширина волны, размытие, прозрачность |
| Background Lines | Плавные линии | Количество, цвет, скорость, толщина |
| Ripple | Расходящиеся круги | Цвет, количество, скорость |
| Boxes | Вращающиеся кубики в сетке | Строки, столбцы, цвет |
| Meteors | Падающие метеоры | Количество, цвет |
SVG-анимации
| Тип | Описание | Настройки |
|---|---|---|
| Background Beams | 50 лучей с градиентом cyan→purple→magenta | Только глобальные настройки |
| Beams Collision | Лучи со столкновениями | Только глобальные настройки |
Настройка через админку
Управление фонами доступно в Настройки → Фоны в админ-панели Cabinet.Выберите тип
Кнопки сгруппированы по категориям (CSS / Canvas / SVG). При выборе тип сразу применяется в превью.
Настройте параметры
Каждый тип имеет свои настройки: цвета, скорость, плотность частиц и другие. Изменения видны в live-превью.
Глобальные параметры
| Параметр | Диапазон | По умолчанию | Описание |
|---|---|---|---|
| Прозрачность | 0.1 – 1.0 | 1.0 | Общая прозрачность фона |
| Размытие | 0 – 20 px | 0 | Гауссово размытие поверх анимации |
| Снижение на мобильных | Вкл / Выкл | Вкл | Урезает количество частиц и отключает интерактивность на мобильных |
Производительность
Все фоны оптимизированы для работы без просадок:- GPU-ускорение — CSS-анимации используют
transformиwill-changeдля композиторного слоя - CSS containment —
contain: strictизолирует перерисовки фона от остального UI - Lazy-загрузка — JS-чанк фона загружается отложенно через
React.lazy - Предзагрузка — при повторных визитах чанк подгружается из localStorage-кэша ещё до рендера React
- Мобильный режим — количество частиц уменьшается вдвое, интерактивные эффекты (отслеживание мыши) отключаются
prefers-reduced-motion— анимация полностью отключается при системной настройке «Уменьшить движение»
SVG Beams
Компонент Background Beams использует чистые CSS-анимацииstroke-dashoffset без изменения opacity — это предотвращает перерисовку (repaint) всей страницы. Из 50 лучей одновременно анимируются только 17, остальные отображаются статически с минимальной прозрачностью.
API
| Метод | Путь | Описание |
|---|---|---|
| GET | /cabinet/branding/animation-config | Получить текущую конфигурацию |
| PATCH | /cabinet/branding/animation-config | Обновить конфигурацию (админ) |
| GET | /cabinet/branding/animation | Проверить, включена ли анимация |
| PATCH | /cabinet/branding/animation | Включить / выключить анимацию (админ) |
Формат конфигурации
Кэширование
Конфигурация фона кэшируется вlocalStorage (cabinet_animation_config). При загрузке страницы Cabinet сначала использует кэш для мгновенного отображения, затем в фоне запрашивает актуальную конфигурацию с сервера. Это обеспечивает отображение фона без задержки даже при медленном соединении.
Отключение
Для полного отключения анимированных фонов:- Через админку — выключите переключатель «Анимация включена» в разделе настроек
- Через API —
PATCH /cabinet/branding/animationс{"enabled": false} - Тип «none» — выберите тип «Без анимации» для явного отключения
