Skip to main content
Version: Next

Компоненты

Компоненты являются основными элементами настройки дизайн системы. В случае совпадения типа компонента (внешнего вида), могут переиспользоваться на пользовательских сценариях (экранах). Например, кнопка с иконкой.

Позволяют быстро устанавливать и менять стиль оформления чата.

Пример настройки:

    // Создание компонентов дизайн системы
let components = ChatComponents()
// Переопределение параметров общих для СДК компонентов
components.navigationBarStyle.titleStyle.color = .white
components.searchBarStyle.cancelButtonStyle.tintColor = .white

// Создание темы из компонентов
let theme = ChatTheme(components: components)

или через конструктор build:

    // Создание компонентов дизайн системы
let components = ChatComponents.build { components in
components.searchBarStyle.cancelButtonStyle.tintColor = .black
components.loadingChatStyle.indicatorStyle.backgroundColor = .systemGray3
components.loadingChatStyle.indicatorStyle.cornerRadius = 20.0
components.audioPlayerStyle.playButtonStyle.image = ChatImage(system: "play.fill", tintColor: .red)
components.audioPlayerStyle.pauseButtonStyle.image = ChatImage(system: "pause.fill", tintColor: .green)
components.audioPlayerStyle.progressViewStyle.color = .black
components.audioPlayerStyle.progressViewStyle.backgroundColor = .yellow
}
note

В случае необходимости поменять стиль общего компонента, но только в одном месте, необходимо переопределить его в нужном пользовательском сценарии

Доступны следующие компоненты для переопределения параметров:

(в дальнейшем список будет расширяться при необходимости)

Стили компонентов чата

НазваниеОписание
navigationBarStyleСтиль панели навигации (заголовок, кнопки назад/вперед, цвет фона и т.д.).
searchBarStyleСтиль панели поиска в панели навигации
loadingIndicatorStyleСтиль индикатора загрузки (прогресс-бар, спиннер). Используется везде, где требуется отобразить процесс ожидания.
loadingChatStyleСтиль загрузки чата (экран при открытии чата).
chatPlaceholderStyleСтиль заглушки для пустого чата (например, когда нет сообщений).
errorPlaceholderStyleСтиль ошибки в чате (сетевая ошибка, сбой загрузки). Показывает информативное сообщение и действия (например, «Повторить»).
inputTextStyleСтиль текстового поля ввода сообщения. Настройка шрифта, цвета текста, placeholder’а, отступов и других параметров ввода.
audioPlayerStyleСтиль аудиоплеера для воспроизведения голосовых сообщений. Включает внешний вид и поведение элементов управления.
inputViewStyleСтиль панели ввода сообщений (нижняя часть чата). Включает поле ввода, кнопки отправки и прикрепления.
photoPickerStyleСтиль компонента выбора фото из галереи или камеры.
fileViewerStyleСтиль просмотра файлов (изображений, документов, видео). Управляет полноэкранным просмотром и интерактивностью.