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.