Настройка параметров UI чата
При инициализации можно задать кастомные:
- цвета
- размеры
- текстовые константы
- иконки
Присутствует стандартный стиль чата ChatUIConfigDefault который можно модифицировать
var ui = ChatUIConfig.default
ui.colors.background = Color(hex: 0xFFE1EDF6)
...
ChatHDE.shared.configure(
...
uiConfig: ui
)
Цвета
ChatUIConfig().colors
Общее
| Параметр | Описание |
|---|---|
background | общий фон чата |
loadingBackground | фон при загрузке |
topPanelBackground | фон верхней панели |
bottomPanelBackground | фон нижней панели |
topPanelText | цвет текста верхней панели |
closeChatButtonBackground | фон кнопки закрытия чата |
closeChatButtonIcon | цвет иконки кнопки закрытия чата |
topDivider | цвет верхнего разделителя |
bottomPanelText | цвет текста нижней панели |
inputFieldBackground | фон поля ввода авторизации |
inputFieldWithErrorBackground | фон поля ввода авторизации в состоянии ошибки |
Сообщения
| Параметр | Описание |
|---|---|
userMessageBackground | фон сообщения пользователя |
userMessageText | цвет текста сообщения пользователя |
userRipple | цвет эффекта нажатия на сообщения пользователя |
userTimeText | цвет текста времени отправки сообщения пользователя |
serverMessageBackground | фон сообщения агента |
serverMessageAgent | цвет текста имени агента |
serverMessageText | цвет текста сообщения агента |
serverRipple | цвет эффекта нажатия на сообщения агента |
serverTimeText | цвет текста времени отправки сообщения агента |
Дополнительно
| Параметр | Описание |
|---|---|
imageRipple | цвет эффекта нажатия на изображение |
timeOnImageText | цвет текста времени отправки у изображений |
timeOnImageBackground | цвет фона времени отправки у изображений |
userLoadingImageColor | цвет фона загружающегося изображения пользователя |
serverLoadingImageColor | цвет фона загружающегося изображения агента |
paperclip | цвет иконки прикрепления файлов |
sendMessage | цвет иконки отправки сообщения |
messagePlaceholder | цвет плейсхолдера в поле для ввода сообщения |
buttonBackground | фон кнопок в сообщении и тикете |
buttonText | цвет текста кнопок в сообщении и тикете |
buttonRipple | цвет эффекта нажатия кнопок в сообщении и тикете |
bottomDivider | цвет нижнего разделителя |
globalLoading | цвет иконки загрузки чата |
errorPrimary | цвет сообщения об ошибке (первичный) |
errorSecondary | цвет сообщения об ошибке (вторичный) |
ticketFieldDisabled | цвет обводки текстовых полей в тикете |
ticketSubText | цвет вспомогательного текста в тикете |
statusBarBackground | фон статус бара |
navigationBarBackground | фон панели навигации |
showPrependMessagesBackground | фон кнопки показа предыдущих сообщений |
dateText | цвет даты начала тикета |
rateBad | цвет фона отметки "плохо" |
rateNeutral | цвет фона отметки "нейтрально" |
rateGood | цвет фона отметки "хорошо" |
rateDefault | цвет фона не нажатых отметок |
rateIconSelected | цвет иконки выделенной отметки |
rateIconDefault | цвет иконки невыделенных отметок |
rateHearts | цвет выделенных иконок "сердце" |
rateStars | цвет выделенных иконок "звезды" |
rateSmiles | цвет выделенных иконок "смайлики" |
Размеры
ChatUIConfig().dimensions
Общее
| Параметр | Описание |
|---|---|
topPanelPadding | Отступы у верхней панели |
staffIconCorners | Скругления углов у аватара агента |
contentHorizontalPadding | Отступы у контента по горизонтали |
bottomPanelPadding | Отступы у нижней панели сообщений |
loadingLogoSize | Размер иконки загрузки чата |
agentNameFontSize | Размер шрифта имени агента |
timeFontSize | Размер шрифта подписи времени |
paperclipSize | Размер иконки скрепки |
logoSize | Размер иконок элементов управления |
Сообщения
| Параметр | Описание |
|---|---|
messagePadding | Внутренние отступы у сообщения |
messageIndent | Отступ между сообщениями (по вертикали) |
messageFontSize | Размер шрифта в тексте сообщений |
timeOnImageCorners | Скругления углов фона у подписи времени отправления сообщения на картинках |
messageMinEndIndent | Минимальный отступ от края экрана до сообщения (слева для сообщений пользователя и справа для ответов сервера) |
messageLoadingIconSize | Размер иконки загрузки напротив сообщения |
innerIndent | Отступы между элементами внутри сообщения |
userTextMessagesCorners | Скругления углов у текстового сообщения пользователя |
userFileMessagesCorners | Скругления углов у сообщения пользователя (файла) |
userImageMessagesCorners | Скругления углов у сообщения пользователя (изображения) |
userImageMessageSize | Размер изображения отправленного пользователем |
serverImageMessageSize | Размер изображения отправленного агентом |
serverTextMessagesCorners | Скругления углов у текстового сообщения агента |
serverFileMessagesCorners | Скругления углов у сообщения агента (файла) |
serverImageMessagesCorners | Скругления углов у сообщения агента (изображения) |
Дополнительно
| Параметр | Описание |
|---|---|
buttonCorners | Скругления углов кнопок в сообщении и тикете |
buttonPadding | Внутренний отступ у кнопок сообщения и тикета |
bottomSheetIconSize | Размер иконок выбора действия при загрузке документа |
ticketFieldsIndent | Отступы в тикете |
ticketSubFontSize | Размер вспомогательного текста в тикете |
ticketFieldsCorners | Скругления углов у полей для ввода в тикете |
disconnectDelay | Задержка при потере соединения перед отображением плажки (в милисекундах) |
errorImageFontSize | размер шрифта текста ошибки в изображении |
imageLoadingSize | размер индикатора загрузки изображения |
Текст
ChatUIConfig().texts
| Поле | Значение по умолчанию |
|---|---|
unassigned | Пожалуйста, подождите |
messagePlaceholder | Сообщение |
connectionError | Нет подключения к Интернету |
showPrependMessages | Показать предыдущие сообщения |
ticketTitle | Оставьте нам Ваш вопрос! |
ticketOffline | К сожалению нет операторов в сети. Отправьте Ваше сообщение и мы обязательно ответим на него на Вашу э-почту. |
ticketNamePlaceholder | Имя |
ticketEmailPlaceholder | Э-почта |
ticketFormPlaceholder | Отправить Ваш вопрос |
ticketPolicy | Согласие на обработку перс. данных |
ticketPolicyLink | (Ссылка) |
ticketSend | Отправить |
errorEmptyContent | Введите Ваш вопрос |
errorEmptyName | Укажите Ваше имя |
errorEmptyEmail | Укажите Вашу э-почту |
errorUnacceptedConsent | Необходимо согласие |
errorInvalidEmail | Неверный формат э-почты |
waitForReply | Спасибо за Ваше сообщение! Мы скоро на него ответим! |
errorUpload | Не удалось загрузить файл, попробуйте загрузить повторно |
errorImageLoading | Не удалось загрузить изображение |
leaveComment | Оставьте свой комментарий |
leaveFeedback | Отправить отзыв |
errorImage | ОШИБКА |
errorFileTooLarge | Максимальный размер загружаемого файла не должен превышать 20 Мб |
rateChat | Пожалуйста, оцените качество сервиса |
ratingComplete | Благодарим за оставленный отзыв! |
Так же присутствуют названия всех месяцев в именительном и родительном падеже
Иконки
ChatUIConfig().media
Все иконки должны быть векторными изображениями
| Параметр | Описание |
|---|---|
noStaffLogo | Плейсхолдер аватарки агента (оператор ещё не назначен) |
linkFileLogo | Иконка прикрепления файла |
sendMessageLogo | Иконка отправки сообщения (кнопка «Отправить») |
closeChatLogo | Иконка закрытия чата |
loadingLogo | Иконка загрузки |
ticketLogo | Логотип экрана тикета |
ticketNameLogo | Иконка перед полем ввода имени |
ticketEmailLogo | Иконка перед полем ввода e-mail |
rateLike | Иконка лайка (палец вверх) для оценки |
rateDislike | Иконка дизлайка (палец вниз) для оценки |
rateSmileBad | Смайл «плохо» (негативная оценка) |
rateSmileNeutral | Смайл «нейтрально» |
rateSmileGood | Смайл «хорошо» (положительная оценка) |
rateHeart | Шаблон оценки «сердце» |
rateStar | Шаблон оценки «звезда» |
Временные интервлы
ChatUIConfig().times
| Параметр | Описание |
|---|---|
disconnectDelay | Задержка при потере соединения перед отображением плажки (в милисекундах) |