Move button actions to view events

This commit is contained in:
Florian Renaud
2023-03-08 13:40:24 +01:00
parent c662b221c9
commit 9a5455e264
5 changed files with 8 additions and 10 deletions

View File

@@ -16,7 +16,7 @@
package io.element.android.features.createroom.root
// TODO Add your events or remove the file completely if no events
sealed interface CreateRoomRootEvents {
object MyEvent : CreateRoomRootEvents
object CreateRoom : CreateRoomRootEvents
object InvitePeople : CreateRoomRootEvents
}

View File

@@ -47,8 +47,6 @@ class CreateRoomRootNode @AssistedInject constructor(
state = state,
modifier = modifier,
onClosePressed = this::navigateUp,
onNewRoomClicked = { /* TODO Handle new room action */ },
onInvitePeopleClicked = { /* TODO Handle invite people action */ },
)
}
}

View File

@@ -27,7 +27,8 @@ class CreateRoomRootPresenter @Inject constructor() : Presenter<CreateRoomRootSt
fun handleEvents(event: CreateRoomRootEvents) {
when (event) {
CreateRoomRootEvents.MyEvent -> Unit
CreateRoomRootEvents.CreateRoom -> Unit // Todo Handle create room action
CreateRoomRootEvents.InvitePeople -> Unit // Todo Handle invite people action
}
}

View File

@@ -63,8 +63,6 @@ fun CreateRoomRootScreen(
state: CreateRoomRootState,
modifier: Modifier = Modifier,
onClosePressed: () -> Unit = {},
onNewRoomClicked: () -> Unit = {},
onInvitePeopleClicked: () -> Unit = {},
) {
var searchText by rememberSaveable { mutableStateOf("") }
var isSearchActive by rememberSaveable { mutableStateOf(false) }
@@ -91,8 +89,8 @@ fun CreateRoomRootScreen(
if (!isSearchActive) {
CreateRoomActionButtonsList(
onNewRoomClicked = onNewRoomClicked,
onInvitePeopleClicked = onInvitePeopleClicked,
onNewRoomClicked = { state.eventSink(CreateRoomRootEvents.CreateRoom) },
onInvitePeopleClicked = { state.eventSink(CreateRoomRootEvents.InvitePeople) },
)
}
}

View File

@@ -46,7 +46,8 @@ class CreateRoomRootPresenterTests {
presenter.present()
}.test {
val initialState = awaitItem()
initialState.eventSink.invoke(CreateRoomRootEvents.MyEvent)
initialState.eventSink(CreateRoomRootEvents.CreateRoom) // Not implemented yet
initialState.eventSink(CreateRoomRootEvents.InvitePeople) // Not implemented yet
}
}
}