Компоненты
Компоненты являются основными элементами настройки дизайн системы. В случае совпадения типа компонента (внешнего вида), могут переиспользоваться на пользовательских сценариях (экранах). Например, кнопка с иконкой.
Позволяют быстро устанавливать и менять стиль оформления чата.
Пример настройки:
// Создание компонентов дизайн системы
let components = ChatComponents()
// Переопределение параметров общих для СДК компонентов
components.navigationBarStyle.titleStyle.color = .white
components.searchBarStyle.cancelButtonStyle.tintColor = .white
// Создание темы из компонентов
let theme = ChatTheme(components: components)
В случае необходимости поменять стиль общего компонента, но только в одном месте, необходимо переопределить его в нужном пользовательском сценарии
Доступны следующие компоненты для переопределения параметров:
(в дальнейшем список будет расширяться при необходимости)
Класс стиля | Описание |
---|---|
Базовые элементы интерфейса | |
NavigationBarStyle | Стиль навигационной панели в чате |
LoadingChatStyle | Общий стиль экрана загрузки чата |
PlaceholderChatStyle | Стиль пустого состояния чата (например, нет сообщений) |
ErrorPlaceholderChatStyle | Стиль отображения ошибки (например, не удалось загрузить чат) |
LoadingIndicatorChatStyle | Стиль индикатора загрузки (в сообщениях, действиях) |
InputChatStyle | Общий стиль поля ввода сообщения |
InputViewStyle | Стиль контейнера ввода (может включать кнопки, эмодзи и т.д.) |
SearchBarChatStyle | Стиль поисковой строки в чате |
ToastAlertStyle | Стиль всплывающих уведомлений (toast) |
ScrollToUnreadMessageButtonStyle | Кнопка прокрутки к новым сообщениям |
PhotoPickerChatStyle | Стиль выбора фото (галерея/камера) |
ProgressViewStyle | Стиль индикатора прогресса (загрузка файлов и т.п.) |
FileViewerChatStyle | Стиль отображения файлов (PDF, документы) |
ButtonChatStyle | Базовый стиль кнопки в чате |
TextButtonChatStyle | Текстовая кнопка (без фона) |
IconButtonChatStyle | Кнопка с иконкой |
AudioPlayerChatStyle | Стиль аудиоплеера (в чате или отдельно) |
Стили сообщений | |
---|---|
ChatMessagesStyles | Контейнер стилей для всех типов пользовательских сообщений |
FileMessageStyle | Стиль сообщения с файлом |
TextMessageStyle | Стиль текстового сообщения |
SearchMessageStyle | Стиль выделения при поиске в сообщениях |
ImageMessageStyle | Стиль изображения в сообщении |
AudioMessageStyle | Стиль аудиосообщения |
SurveyMessageStyle | Стиль опроса/голосования в сообщении |
QuickReplyStyle | Стиль быстрых ответов |
ScheduleMessageStyle | Стиль сообщения с расписанием/напоминанием |
OperatorJoinedMessageStyle | Стиль сообщения о подключении оператора |
QuoteStyle | Стиль цитирования сообщений |
У каждого компонента есть общие базовые параметры, например:
/// Округление углов у элемента (если применимо к элементу, иначе игнорируется)
public var cornerRadius: CGFloat
/// Цвет фона элемента
public var backgroundColor: UIColor
/// Цвет элемента (если применимо к элементу, иначе игнорируется)
public var tintColor: UIColor
Так и уникальные для каждого компонента. Полный список можно посмотреть в документации по API
В этой версии дизайн система применялась к текущему чату, могли быть учтены не все параметры. В случае обнаружения проблем с настройкой, обратитесь в поддержку.