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.