Package-level declarations

Types

Link copied to clipboard
class MembersViewModel(repository: MembersScreenResourceRepository, savedStateHandle: SavedStateHandle) : ViewModel, SendbirdViewModelContract

ViewModel class for MembersScreen.

Link copied to clipboard
class MembersViewModelParams(val channelUrl: String, val queryParams: MemberListQueryParams) : SendbirdViewModelParams

Represents the parameters for the MembersViewModel.

Functions

Link copied to clipboard
fun MemberItem(member: UikitMember, modifier: Modifier = Modifier)

Represents the member item in the list of members.

Link copied to clipboard
fun MembersScreen(navController: NavController?, channelUrl: String, modifier: Modifier = Modifier, onTopBarNavigationIconClick: () -> Unit = { navController?.popBackStack() }, onTopBarActionClick: () -> Unit = { navController?.navigateToUserInvitation(channelUrl) }, onChannelRemoved: (channelUrl: String) -> Unit = { navController?.popBackStack(SendbirdNavigationRoute.Channels.route, inclusive = false) }, onMemberItemClick: (user: UikitMember) -> Unit = {}, onMemberItemLongClick: (user: UikitMember) -> Unit = {}, viewModel: MembersViewModel = viewModel( factory = MembersViewModel.factory( MembersViewModelParams( channelUrl = channelUrl, queryParams = MemberListQueryParams() ) ) ), topBar: @Composable (onNavigationIconClick: () -> Unit, onActionClick: () -> Unit) -> Unit = { onNavigationIconClick, onActionClick -> MembersTopBar( onNavigationIconClick = onNavigationIconClick, onActionClick = onActionClick ) }, loading: @Composable () -> Unit = { LoadingScreen() }, failure: @Composable (e: Throwable) -> Unit = { e -> if (e !is ChannelRemovedException) { FailurePlaceholder( onRetryClick = { viewModel.prepare() } ) } }, empty: @Composable () -> Unit = { ScreenPlaceholder( icon = painterResource(id = R.drawable.icon_members), text = stringResource(id = R.string.sb_text_empty_no_member) ) }, memberItem: @Composable (member: UikitMember, onClick: (member: UikitMember) -> Unit, onLongClick: (member: UikitMember) -> Unit) -> Unit = { member, onClick, onLongClick -> MemberItem( member, modifier = Modifier.combinedClickable( onClick = { onClick(member) }, onLongClick = { onLongClick(member) } ) ) HorizontalDivider( modifier = Modifier.padding(start = 68.dp), color = MaterialTheme.colorScheme.onBackground.copy(alpha = SendbirdOpacity.ExtraLowOpacity) ) })

Represents the screen that displays the list of UikitMember in a UikitGroupChannel.

Link copied to clipboard
fun MembersTopBar(modifier: Modifier = Modifier, onNavigationIconClick: () -> Unit = {}, onActionClick: () -> Unit = {}, title: @Composable () -> Unit = { TopBarTitleText( stringResource(id = R.string.sb_text_header_member_list), modifier = Modifier.padding(12.dp) ) }, navigationIcon: @Composable () -> Unit = { BackButton(onClick = onNavigationIconClick) }, action: @Composable () -> Unit = { SendbirdIconButton( icon = painterResource(id = R.drawable.icon_plus), contentDescription = stringResource(id = R.string.sb_view_header_right_button_description), modifier = Modifier.size(32.dp), onClick = onActionClick ) })

Represents the top bar for the MembersScreen.