Package-level declarations

Types

Link copied to clipboard
sealed interface ThreadListBannerState

Sealed interface representing the possible states of the ThreadListBanner.

Functions

Link copied to clipboard
fun ThreadItem(thread: Thread, currentUser: User?, onThreadClick: (Thread) -> Unit, modifier: Modifier = Modifier)

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

Link copied to clipboard
fun ThreadList(viewModel: ThreadListViewModel, modifier: Modifier = Modifier, currentUser: User? = ChatClient.instance().getCurrentUser(), onBannerClick: () -> Unit = { viewModel.load() }, onThreadClick: (Thread) -> Unit = {}, onLoadMore: () -> Unit = { viewModel.loadNextPage() })
fun ThreadList(state: ThreadListState, modifier: Modifier = Modifier, currentUser: User? = ChatClient.instance().getCurrentUser(), onBannerClick: () -> Unit, onThreadClick: (Thread) -> Unit, onLoadMore: () -> Unit)

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 ThreadListHeader(modifier: Modifier = Modifier, title: String = stringResource(R.string.stream_compose_thread_list_header_title), currentUser: User? = null, connectionState: ConnectionState = ConnectionState.Connected, onAvatarClick: (User?) -> Unit = {})

A header composable for the thread list screen. Uses the shared ListHeader layout with no trailing action button.

Link copied to clipboard
fun ThreadsScreen(viewModelFactory: ThreadsViewModelFactory = ThreadsViewModelFactory(query = QueryThreadsRequest()), title: String = stringResource(R.string.stream_compose_thread_list_header_title), onHeaderAvatarClick: () -> Unit = {}, onThreadClick: (Thread) -> Unit = {})

Default root Threads screen component, that provides the necessary ViewModel.