Перейти к основному содержимому
Версия: 5.1.0

Цветовая схема

Класс ChatColors предоставляет набор унифицированных цветов, используемых в интерфейсе чата. Поддерживает адаптацию под светлую и тёмную темы при помощи динамических цветов. Но для разделения логики и более точной настройки, рекомендуется настраивать цвета отдельно, в рамках темной и светлой темы.

Описание

ChatColors — это базовый класс, который содержит предопределённые цветовые токены.

Цвета реализованы через метод .colorFor(light:dark:), что позволяет автоматически переключаться между светлой и тёмной палитрами в зависимости от текущей темы системы в рамках одной установленной темы (в рамках смены темы при настройках по-умолчанию).

Этот класс может быть использован как часть дизайн-системы или темизации в приложении.


Цвета по категориям

🖌️ Основные цвета текста

ПеременнаяНазначениеLightDark
mainОсновной цвет текста#191E23#E1E1EA
secondaryВторостепенный текст#777B7E#B0B0BA
disabledТекст/иконки в состоянии disabled#9FA5A9#8A8A8E

🧱 Фоновые цвета

ПеременнаяНазначениеLightDark
backgroundОсновной фон экрана#F1F1F7#1C1C1E
backgroundWhiteБелый фон#FFFFFF#2C2C2F

🔗 Цвета ссылок

ПеременнаяНазначениеLight / Dark
linkОсновная ссылка#007AFF
linkLightЛегкая вариация ссылки#4EAAFF

✅ Положительные действия

ПеременнаяНазначениеLight / Dark
positiveЦвет для позитивных действий#09A460

⚠️ Предупреждения

ПеременнаяНазначениеLight / Dark
warningЦвет для предупреждающих статусов#FFC043

❌ Ошибки

ПеременнаяНазначениеLightDark
errorОсновной цвет ошибки#AF1400#E11900
errorLightЛегкая вариация ошибки#E11900#FF594C

Пример использования

Актуальный пример можно найти в демо приложении в MainViewController+Themes

import ChatCenterUI

/// Настройки тем оформления
extension MainViewController {
func makeDarkTheme() -> ChatTheme {
return ChatTheme(colors: colors)
}

private var colors: ChatColors {
let colors = ChatColors()
colors.main = UIColor(named: "MainColor") ?? .black
colors.secondary = UIColor(named: "SecondaryColor") ?? .systemGreen
colors.disabled = .systemGray3
colors.background = .systemBackground
colors.backgroundWhite = .systemFill
colors.link = .systemBlue
colors.linkLight = .systemBlue.withAlphaComponent(0.7)
colors.positive = UIColor(named: "SecondaryColor") ?? .systemTeal
colors.warning = .systemOrange
colors.error = .systemRed
colors.errorLight = .systemRed.withAlphaComponent(0.7)
return colors
}