Package-level declarations

Functions

Link copied to clipboard
fun ThreadItem(    thread: Thread,     currentUser: User?,     onThreadClick: (Thread) -> Unit,     modifier: Modifier = Modifier,     titleContent: @Composable (Channel) -> Unit = { channel -> ChatTheme.componentFactory.ThreadListItemTitle(thread, channel, currentUser) },     replyToContent: @Composable RowScope.(parentMessage: Message) -> Unit = { with(ChatTheme.componentFactory) { ThreadListItemReplyToContent(thread) } },     unreadCountContent: @Composable RowScope.(unreadCount: Int) -> Unit = { unreadCount -> with(ChatTheme.componentFactory) { ThreadListItemUnreadCountContent(unreadCount) } },     latestReplyContent: @Composable (reply: Message) -> Unit = { ChatTheme.componentFactory.ThreadListItemLatestReplyContent(thread, currentUser) })

The basic Thread item, showing information about the Thread title, parent message, last reply and number of unread replies.

Link copied to clipboard
fun ThreadList(    viewModel: ThreadListViewModel,     modifier: Modifier = Modifier,     currentUser: User? = ChatClient.instance().getCurrentUser(),     onUnreadThreadsBannerClick: () -> Unit = { viewModel.load() },     onThreadClick: (Thread) -> Unit = {},     onLoadMore: () -> Unit = { viewModel.loadNextPage() },     unreadThreadsBanner: @Composable (Int) -> Unit = { ChatTheme.componentFactory.ThreadListUnreadThreadsBanner(it, onUnreadThreadsBannerClick) },     itemContent: @Composable (Thread) -> Unit = { ChatTheme.componentFactory.ThreadListItem(it, currentUser, onThreadClick) },     emptyContent: @Composable () -> Unit = { ChatTheme.componentFactory.ThreadListEmptyContent(modifier) },     loadingContent: @Composable () -> Unit = { ChatTheme.componentFactory.ThreadListLoadingContent(modifier) },     loadingMoreContent: @Composable () -> Unit = { ChatTheme.componentFactory.ThreadListLoadingMoreContent() })
fun ThreadList(    state: ThreadListState,     modifier: Modifier = Modifier,     currentUser: User? = ChatClient.instance().getCurrentUser(),     onUnreadThreadsBannerClick: () -> Unit,     onThreadClick: (Thread) -> Unit,     onLoadMore: () -> Unit,     unreadThreadsBanner: @Composable (Int) -> Unit = { ChatTheme.componentFactory.ThreadListUnreadThreadsBanner(it, onUnreadThreadsBannerClick) },     itemContent: @Composable (Thread) -> Unit = { ChatTheme.componentFactory.ThreadListItem(it, currentUser, onThreadClick) },     emptyContent: @Composable () -> Unit = { ChatTheme.componentFactory.ThreadListEmptyContent(modifier) },     loadingContent: @Composable () -> Unit = { ChatTheme.componentFactory.ThreadListLoadingContent(modifier) },     loadingMoreContent: @Composable () -> Unit = { ChatTheme.componentFactory.ThreadListLoadingMoreContent() })

Composable rendering a paginated list of threads. Optionally, it renders a banner informing about new threads/thread messages outside of the loaded pages of threads.

Link copied to clipboard
fun UnreadThreadsBanner(unreadThreads: Int, modifier: Modifier = Modifier, onClick: () -> Unit? = null)

Composable a banner showing the number of unread threads. It will not be shown if unreadThreads is zero.