feature (space) : use via parameter from space room
This commit is contained in:
parent
28bca11c03
commit
af5234478c
5 changed files with 9 additions and 10 deletions
|
|
@ -366,8 +366,8 @@ class LoggedInFlowNode(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val spaceCallback = object : SpaceEntryPoint.Callback {
|
val spaceCallback = object : SpaceEntryPoint.Callback {
|
||||||
override fun onOpenRoom(roomId: RoomId) {
|
override fun onOpenRoom(roomId: RoomId, viaParameters: List<String>) {
|
||||||
backstack.push(NavTarget.Room(roomId.toRoomIdOrAlias()))
|
backstack.push(NavTarget.Room(roomId.toRoomIdOrAlias(), serverNames = viaParameters))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val inputs = RoomFlowNode.Inputs(
|
val inputs = RoomFlowNode.Inputs(
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,6 @@ interface SpaceEntryPoint : FeatureEntryPoint {
|
||||||
) : NodeInputs
|
) : NodeInputs
|
||||||
|
|
||||||
interface Callback : Plugin {
|
interface Callback : Plugin {
|
||||||
fun onOpenRoom(roomId: RoomId)
|
fun onOpenRoom(roomId: RoomId, viaParameters: List<String>)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,8 +36,8 @@ class SpaceNode(
|
||||||
SpaceView(
|
SpaceView(
|
||||||
state = state,
|
state = state,
|
||||||
onBackClick = ::navigateUp,
|
onBackClick = ::navigateUp,
|
||||||
onRoomClick = { roomId ->
|
onRoomClick = { spaceRoom ->
|
||||||
callback.onOpenRoom(roomId)
|
callback.onOpenRoom(spaceRoom.roomId, spaceRoom.via)
|
||||||
},
|
},
|
||||||
modifier = modifier
|
modifier = modifier
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,6 @@ import io.element.android.libraries.designsystem.theme.components.CircularProgre
|
||||||
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
|
||||||
import io.element.android.libraries.matrix.api.room.CurrentUserMembership
|
import io.element.android.libraries.matrix.api.room.CurrentUserMembership
|
||||||
import io.element.android.libraries.matrix.api.spaces.SpaceRoom
|
import io.element.android.libraries.matrix.api.spaces.SpaceRoom
|
||||||
import io.element.android.libraries.matrix.ui.components.SpaceHeaderView
|
import io.element.android.libraries.matrix.ui.components.SpaceHeaderView
|
||||||
|
|
@ -52,7 +51,7 @@ import kotlinx.collections.immutable.toImmutableList
|
||||||
fun SpaceView(
|
fun SpaceView(
|
||||||
state: SpaceState,
|
state: SpaceState,
|
||||||
onBackClick: () -> Unit,
|
onBackClick: () -> Unit,
|
||||||
onRoomClick: (roomId: RoomId) -> Unit,
|
onRoomClick: (spaceRoom: SpaceRoom) -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
Scaffold(
|
Scaffold(
|
||||||
|
|
@ -76,7 +75,7 @@ fun SpaceView(
|
||||||
@Composable
|
@Composable
|
||||||
private fun SpaceViewContent(
|
private fun SpaceViewContent(
|
||||||
state: SpaceState,
|
state: SpaceState,
|
||||||
onRoomClick: (roomId: RoomId) -> Unit,
|
onRoomClick: (spaceRoom: SpaceRoom) -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
LazyColumn(modifier.fillMaxSize()) {
|
LazyColumn(modifier.fillMaxSize()) {
|
||||||
|
|
@ -102,7 +101,7 @@ private fun SpaceViewContent(
|
||||||
showUnreadIndicator = isInvitation && spaceRoom.roomId !in state.seenSpaceInvites,
|
showUnreadIndicator = isInvitation && spaceRoom.roomId !in state.seenSpaceInvites,
|
||||||
hideAvatars = isInvitation && state.hideInvitesAvatar,
|
hideAvatars = isInvitation && state.hideInvitesAvatar,
|
||||||
onClick = {
|
onClick = {
|
||||||
onRoomClick(spaceRoom.roomId)
|
onRoomClick(spaceRoom)
|
||||||
},
|
},
|
||||||
onLongClick = {
|
onLongClick = {
|
||||||
// TODO
|
// TODO
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ class DefaultSpaceEntryPointTest {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
val callback = object : SpaceEntryPoint.Callback {
|
val callback = object : SpaceEntryPoint.Callback {
|
||||||
override fun onOpenRoom(roomId: RoomId) {
|
override fun onOpenRoom(roomId: RoomId, viaParameters: List<String>) {
|
||||||
lambdaError()
|
lambdaError()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue