# ОБЩИЕ ПРАВИЛА ВИЗУАЛЬНОГО ДИЗАЙНА SFERA > 📋 **Базовые принципы дизайна системы управления складами и поставками** --- ## 🎨 **1. ЦВЕТОВАЯ СИСТЕМА** ### 1.1 Основная палитра **PRIMARY COLORS (OKLCH)**: - **Primary**: `oklch(0.65 0.28 315)` - основной фиолетовый - **Primary Foreground**: `oklch(0.985 0 0)` - белый текст - **Secondary**: `oklch(0.94 0.08 315)` - светло-фиолетовый - **Background**: `oklch(0.98 0.02 320)` - светлый фон **GLASS SYSTEM**: - **Base**: `bg-white/10 backdrop-blur border-white/20` - **Cards**: `bg-white/5 backdrop-blur border-white/10` - **Buttons**: `glass-button` / `glass-secondary` ### 1.2 Функциональные цвета **STATUS COLORS**: - 🟢 **Success**: `green-400/500` - завершенные операции - 🔴 **Error**: `red-400/500` - ошибки и критичные состояния - 🟡 **Warning**: `yellow-400/500` - предупреждения - 🔵 **Info**: `blue-400/500` - информационные сообщения - 🟣 **Processing**: `purple-400/500` - процессы в работе **CABINET COLORS**: - **Селлер**: `blue-400` - синий - **Фулфилмент**: `purple-400` - фиолетовый - **Поставщик**: `green-400` - зеленый - **Логистика**: `orange-400` - оранжевый ### 1.3 Иерархическая цветовая схема **УРОВНИ ДЕТАЛИЗАЦИИ (для фулфилмента)**: - 🔵 **Уровень 1 (Магазины)**: уникальные цвета - ТехноМир: `blue-400/500` - Стиль и Комфорт: `pink-400/500` - Зелёный Дом: `emerald-400/500` - 🟢 **Уровень 2 (Товары)**: `green-500` - 🟠 **Уровень 3 (Варианты)**: `orange-500` --- ## 🔤 **2. ТИПОГРАФИКА** ### 2.1 Шрифты **FAMILY**: - **Sans**: `var(--font-geist-sans)` - основной шрифт - **Mono**: `var(--font-geist-mono)` - код и техническая информация ### 2.2 Размеры и веса **HEADINGS**: - **H1**: `text-3xl font-bold text-white` - заголовки страниц - **H2**: `text-2xl font-semibold text-white` - секции - **H3**: `text-xl font-semibold text-white` - подразделы - **H4**: `text-lg font-medium text-white` - карточки **BODY TEXT**: - **Primary**: `text-white` - основной текст - **Secondary**: `text-white/70` - вспомогательный - **Muted**: `text-white/60` - дополнительный - **Disabled**: `text-white/40` - отключенные элементы **CODE & TECHNICAL**: - **Code**: `font-mono text-xs text-white/60` - техническая информация - **Badges**: `text-xs font-medium` - статусы и метки --- ## 🧩 **3. КОМПОНЕНТЫ** ### 3.1 Кнопки **ВАРИАНТЫ**: ```css default: bg-primary hover:bg-primary/90 glass: glass-button (основной стиль) glass-secondary: glass-secondary hover:text-white/90 outline: border hover:bg-accent ghost: hover:bg-accent/50 destructive: bg-destructive hover:bg-destructive/90 ``` **РАЗМЕРЫ**: - **sm**: `h-8 px-3` - компактные формы - **default**: `h-9 px-4` - стандартные - **lg**: `h-10 px-6` - акцентные действия - **icon**: `size-9` - иконочные кнопки **ГРАДИЕНТЫ**: - **Accent**: `bg-gradient-to-r from-purple-600 to-pink-600` - **Success**: `bg-gradient-to-r from-green-500 to-emerald-500` - **Info**: `bg-gradient-to-r from-blue-500 to-cyan-500` ### 3.2 Карточки **БАЗОВЫЕ СТИЛИ**: ```css glass-card: bg-white/5 backdrop-blur border-white/10 hover: border-white/20 transition-all interactive: cursor-pointer group ``` **ИНТЕРАКТИВНОСТЬ**: - **Hover**: `hover:border-white/20 hover:bg-white/10` - **Scale**: `hover:scale-105 transition-transform` - **Shadow**: `hover:shadow-xl hover:shadow-purple-500/20` ### 3.3 Формы **ИНПУТЫ**: ```css glass-input: backdrop-blur border-white/20 placeholder: placeholder:text-white/50 focus: focus-visible:ring-ring/50 invalid: aria-invalid:border-destructive ``` **СОСТОЯНИЯ**: - **Default**: `glass-input text-white` - **Error**: `border-red-500/50 ring-red-500/20` - **Success**: `border-green-500/50 ring-green-500/20` - **Disabled**: `opacity-50 pointer-events-none` --- ## ✨ **4. АНИМАЦИИ И ПЕРЕХОДЫ** ### 4.1 Стандартные переходы **DURATION**: - **Fast**: `duration-200` - hover эффекты - **Normal**: `duration-300` - стандартные переходы - **Slow**: `duration-500` - сложные анимации **EASING**: - **Default**: `transition-all` - универсальный - **Transform**: `transition-transform` - масштабирование - **Colors**: `transition-colors` - смена цветов ### 4.2 Hover эффекты **МАСШТАБИРОВАНИЕ**: ```css hover:scale-105 - легкое увеличение hover:scale-110 - заметное увеличение hover:scale-95 - уменьшение при нажатии hover:-translate-y-1 - поднятие ``` **ЦВЕТОВЫЕ ИЗМЕНЕНИЯ**: ```css hover:bg-white/10 - осветление фона hover:text-white - усиление текста hover:border-white/40 - усиление границ ``` ### 4.3 Системные анимации **LOADING**: - **Spin**: `animate-spin` - индикаторы загрузки - **Pulse**: `animate-pulse` - уведомления - **Bounce**: `animate-bounce` - привлечение внимания - **Ping**: `animate-ping` - статусы онлайн --- ## 📐 **5. СЕТКИ И ОТСТУПЫ** ### 5.1 Spacing система **ВНУТРЕННИЕ ОТСТУПЫ**: - **xs**: `p-2` (8px) - плотные элементы - **sm**: `p-3` (12px) - компактные карточки - **md**: `p-4` (16px) - стандартные карточки - **lg**: `p-6` (24px) - основные секции - **xl**: `p-8` (32px) - страницы **ВНЕШНИЕ ОТСТУПЫ**: - **Между элементами**: `space-y-4` / `gap-4` - **Между секциями**: `space-y-6` / `gap-6` - **Между страницами**: `space-y-8` ### 5.2 Responsive сетки **BREAKPOINTS**: ```css sm: 640px - мобильные md: 768px - планшеты lg: 1024px - десктопы xl: 1280px - широкие экраны ``` **GRID PATTERNS**: ```css grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 grid-cols-2 md:grid-cols-4 lg:grid-cols-6 flex flex-wrap gap-4 ``` --- ## 🔄 **6. УНИФИКАЦИЯ ИНТЕРФЕЙСОВ** ### 6.1 Раздел "Партнеры" - специальные правила > 📋 **Детальные правила**: См. [partners-rules.md](./partners-rules.md#🎨-uiux-правила-раздела-партнеры) **КРИТИЧЕСКИ ВАЖНО**: Все вкладки раздела "Партнеры" должны иметь единую структуру: #### Обязательные принципы: - **Блоки статистики**: `grid grid-cols-4 gap-3` с отдельными `glass-card` - **ЗАПРЕЩЕНО**: Дополнительные обертки `glass-card` в TabsContent - **Цвета ссылок**: желтая схема (`bg-yellow-500/20`) - **Табличный формат**: вместо карточного grid-layout #### Структура блоков статистики: ```tsx { /* ПРАВИЛЬНО */ } ;
Содержимое карточки
{error}
}