feature(space): add view members entry
This commit is contained in:
parent
ef52fb38f2
commit
52f48268b1
9 changed files with 57 additions and 13 deletions
|
|
@ -88,6 +88,10 @@ class SpaceFlowNode(
|
|||
callback.onOpenDetails()
|
||||
}
|
||||
|
||||
override fun onOpenMemberList() {
|
||||
callback.onOpenMemberList()
|
||||
}
|
||||
|
||||
override fun onLeaveSpace() {
|
||||
backstack.push(NavTarget.Leave)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,6 +42,8 @@ class SpaceNode(
|
|||
interface Callback : Plugin {
|
||||
fun onOpenRoom(roomId: RoomId, viaParameters: List<String>)
|
||||
fun onOpenDetails()
|
||||
|
||||
fun onOpenMemberList()
|
||||
fun onLeaveSpace()
|
||||
}
|
||||
|
||||
|
|
@ -83,6 +85,9 @@ class SpaceNode(
|
|||
onShareSpace = {
|
||||
onShareRoom(context)
|
||||
},
|
||||
onViewMembersClick = {
|
||||
callback.onOpenMemberList()
|
||||
},
|
||||
acceptDeclineInviteView = {
|
||||
acceptDeclineInviteView.Render(
|
||||
state = state.acceptDeclineInviteState,
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@ fun SpaceView(
|
|||
onShareSpace: () -> Unit,
|
||||
onLeaveSpaceClick: () -> Unit,
|
||||
onDetailsClick: () -> Unit,
|
||||
onViewMembersClick: () -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
acceptDeclineInviteView: @Composable () -> Unit,
|
||||
) {
|
||||
|
|
@ -89,7 +90,8 @@ fun SpaceView(
|
|||
onBackClick = onBackClick,
|
||||
onLeaveSpaceClick = onLeaveSpaceClick,
|
||||
onShareSpace = onShareSpace,
|
||||
onDetailsClick = onDetailsClick
|
||||
onDetailsClick = onDetailsClick,
|
||||
onViewMembersClick = onViewMembersClick,
|
||||
)
|
||||
},
|
||||
content = { padding ->
|
||||
|
|
@ -256,6 +258,7 @@ private fun SpaceViewTopBar(
|
|||
onLeaveSpaceClick: () -> Unit,
|
||||
onDetailsClick: () -> Unit,
|
||||
onShareSpace: () -> Unit,
|
||||
onViewMembersClick: () -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
TopAppBar(
|
||||
|
|
@ -304,6 +307,20 @@ private fun SpaceViewTopBar(
|
|||
)
|
||||
}
|
||||
)
|
||||
DropdownMenuItem(
|
||||
onClick = {
|
||||
showMenu = false
|
||||
onViewMembersClick()
|
||||
},
|
||||
text = { Text(stringResource(id = CommonStrings.screen_space_menu_action_members)) },
|
||||
leadingIcon = {
|
||||
Icon(
|
||||
imageVector = CompoundIcons.User(),
|
||||
tint = ElementTheme.colors.iconSecondary,
|
||||
contentDescription = null,
|
||||
)
|
||||
}
|
||||
)
|
||||
DropdownMenuItem(
|
||||
onClick = {
|
||||
showMenu = false
|
||||
|
|
@ -344,10 +361,10 @@ private fun SpaceAvatarAndNameRow(
|
|||
)
|
||||
Text(
|
||||
modifier = Modifier
|
||||
.padding(horizontal = 8.dp)
|
||||
.semantics {
|
||||
heading()
|
||||
},
|
||||
.padding(horizontal = 8.dp)
|
||||
.semantics {
|
||||
heading()
|
||||
},
|
||||
text = name ?: stringResource(CommonStrings.common_no_space_name),
|
||||
style = ElementTheme.typography.fontBodyLgMedium,
|
||||
fontStyle = FontStyle.Italic.takeIf { name == null },
|
||||
|
|
@ -403,6 +420,7 @@ internal fun SpaceViewPreview(
|
|||
onLeaveSpaceClick = {},
|
||||
acceptDeclineInviteView = {},
|
||||
onDetailsClick = {},
|
||||
onViewMembersClick = {},
|
||||
onBackClick = {},
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ class DefaultSpaceEntryPointTest {
|
|||
val callback = object : SpaceEntryPoint.Callback {
|
||||
override fun onOpenRoom(roomId: RoomId, viaParameters: List<String>) = lambdaError()
|
||||
override fun onOpenDetails() = lambdaError()
|
||||
override fun onOpenMemberList() = lambdaError()
|
||||
}
|
||||
val result = entryPoint.nodeBuilder(parentNode, BuildContext.root(null))
|
||||
.inputs(nodeInputs)
|
||||
|
|
|
|||
|
|
@ -140,6 +140,7 @@ private fun <R : TestRule> AndroidComposeTestRule<R, ComponentActivity>.setSpace
|
|||
onShareSpace: () -> Unit = EnsureNeverCalled(),
|
||||
onLeaveSpaceClick: () -> Unit = EnsureNeverCalled(),
|
||||
onDetailsClick: () -> Unit = EnsureNeverCalled(),
|
||||
onViewMembersClick: () -> Unit = EnsureNeverCalled(),
|
||||
acceptDeclineInviteView: @Composable () -> Unit = {},
|
||||
) {
|
||||
setContent {
|
||||
|
|
@ -150,6 +151,7 @@ private fun <R : TestRule> AndroidComposeTestRule<R, ComponentActivity>.setSpace
|
|||
onShareSpace = onShareSpace,
|
||||
onLeaveSpaceClick = onLeaveSpaceClick,
|
||||
onDetailsClick = onDetailsClick,
|
||||
onViewMembersClick = onViewMembersClick,
|
||||
acceptDeclineInviteView = acceptDeclineInviteView,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue