Skip to main content
Version: Next

User Flows

User flows provide advanced interface configuration and allow precise configuration of required screen and its elements.

They consist of same components configured in base settings but allow overriding them precisely without changes in other used locations.

For example, an icon button is used in several places, but this way you can change only its background in specific location.

Configuration example:

// Create design system components
let components = ChatComponents()

// Create theme from components
let theme = ChatTheme(components: components)

// Get chat screen settings
let chatFlow = theme.flows.chatFlow
chatFlow.systemMessages.surveyMessageStyle.type = .user
chatFlow.incomeMessages.showAvatar = true
chatFlow.outcomeMessages.showAvatar = false

// Get search screen settings
let searchFlow = theme.flows.searchFlow
searchFlow.searchMessageStyle.messageMatchStyle.color = .red

SDK allows configuring two user flows (screens):

Chat

Chat screen is SDK's main screen and contains its main components: message list and input panel.

Display of entrance (loading data required for operation):

Loading chat

Empty chat display:

Empty chat

Error display when getting data:

Error display

Message display:

Message display

Search screen is auxiliary screen required for searching and displaying messages in chat.

It opens by clicking search icon in navigation bar (display enabled in ChatConfig) and includes several states:

Display on open:

Message search

Empty search results display:

No results found

Search results display:

Results display