Branch signout

This commit is contained in:
ganfra 2022-10-28 20:22:53 +02:00
parent c1fcc51d09
commit 3371f99f93
2 changed files with 17 additions and 4 deletions

View file

@ -4,6 +4,7 @@ import androidx.compose.runtime.Composable
import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.Destination
import com.ramcosta.composedestinations.annotation.RootNavGraph import com.ramcosta.composedestinations.annotation.RootNavGraph
import com.ramcosta.composedestinations.navigation.DestinationsNavigator import com.ramcosta.composedestinations.navigation.DestinationsNavigator
import io.element.android.x.destinations.LoginScreenNavigationDestination
import io.element.android.x.destinations.RoomListScreenNavigationDestination import io.element.android.x.destinations.RoomListScreenNavigationDestination
import io.element.android.x.features.login.LoginScreen import io.element.android.x.features.login.LoginScreen
import io.element.android.x.features.roomlist.RoomListScreen import io.element.android.x.features.roomlist.RoomListScreen
@ -21,8 +22,10 @@ fun LoginScreenNavigation(navigator: DestinationsNavigator) {
@RootNavGraph(start = true) @RootNavGraph(start = true)
@Destination @Destination
@Composable @Composable
fun RoomListScreenNavigation() { fun RoomListScreenNavigation(navigator: DestinationsNavigator) {
RoomListScreen() RoomListScreen(onSuccessLogout = {
navigator.clearBackStack(LoginScreenNavigationDestination)
})
} }

View file

@ -23,11 +23,21 @@ import io.element.android.x.matrix.room.RoomSummary
@Composable @Composable
fun RoomListScreen( fun RoomListScreen(
viewModel: RoomListViewModel = mavericksViewModel(), viewModel: RoomListViewModel = mavericksViewModel(),
onLogoutClicked: () -> Unit = { }, onSuccessLogout: () -> Unit = { },
onRoomClicked: (RoomId) -> Unit = { } onRoomClicked: (RoomId) -> Unit = { }
) { ) {
val state by viewModel.collectAsState() val state by viewModel.collectAsState()
RoomListContent(state, onRoomClicked, onLogoutClicked) if (state.logoutAction is Success) {
onSuccessLogout()
return
}
RoomListContent(
state = state,
onRoomClicked = onRoomClicked,
onLogoutClicked = {
viewModel.handle(RoomListActions.Logout)
}
)
} }
@Composable @Composable