OnBoarding
This commit is contained in:
parent
4114ec4efc
commit
978975342e
62 changed files with 535 additions and 92 deletions
|
|
@ -66,6 +66,7 @@ android {
|
|||
dependencies {
|
||||
implementation project(":libraries:designsystem")
|
||||
implementation project(":libraries:matrix")
|
||||
implementation project(":features:onboarding")
|
||||
implementation project(":features:login")
|
||||
implementation project(":features:roomlist")
|
||||
implementation project(":features:messages")
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import com.ramcosta.composedestinations.DestinationsNavHost
|
|||
import com.ramcosta.composedestinations.rememberNavHostEngine
|
||||
import io.element.android.x.designsystem.ElementXTheme
|
||||
import io.element.android.x.destinations.LoginScreenNavigationDestination
|
||||
import io.element.android.x.destinations.OnBoardingScreenNavigationDestination
|
||||
import kotlinx.coroutines.runBlocking
|
||||
|
||||
class MainActivity : ComponentActivity() {
|
||||
|
|
@ -37,7 +38,7 @@ private fun MainScreen(viewModel: MainViewModel) {
|
|||
val navController = engine.rememberNavController()
|
||||
val startRoute = runBlocking {
|
||||
if (!viewModel.isLoggedIn()) {
|
||||
LoginScreenNavigationDestination
|
||||
OnBoardingScreenNavigationDestination
|
||||
} else {
|
||||
viewModel.restoreSession()
|
||||
NavGraphs.root.startRoute
|
||||
|
|
|
|||
|
|
@ -8,18 +8,33 @@ import com.ramcosta.composedestinations.navigation.popUpTo
|
|||
import io.element.android.x.destinations.LoginScreenNavigationDestination
|
||||
import io.element.android.x.destinations.MessagesScreenNavigationDestination
|
||||
import io.element.android.x.destinations.RoomListScreenNavigationDestination
|
||||
import io.element.android.x.destinations.OnBoardingScreenNavigationDestination
|
||||
import io.element.android.x.features.login.LoginScreen
|
||||
import io.element.android.x.features.messages.MessagesScreen
|
||||
import io.element.android.x.features.onboarding.OnBoardingScreen
|
||||
import io.element.android.x.features.roomlist.RoomListScreen
|
||||
import io.element.android.x.matrix.core.RoomId
|
||||
|
||||
@Destination
|
||||
@Composable
|
||||
fun OnBoardingScreenNavigation(navigator: DestinationsNavigator) {
|
||||
OnBoardingScreen(
|
||||
onSignUp = {
|
||||
// TODO
|
||||
},
|
||||
onSignIn = {
|
||||
navigator.navigate(LoginScreenNavigationDestination)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@Destination
|
||||
@Composable
|
||||
fun LoginScreenNavigation(navigator: DestinationsNavigator) {
|
||||
LoginScreen(
|
||||
onLoginWithSuccess = {
|
||||
navigator.navigate(RoomListScreenNavigationDestination) {
|
||||
popUpTo(LoginScreenNavigationDestination) {
|
||||
popUpTo(OnBoardingScreenNavigationDestination) {
|
||||
inclusive = true
|
||||
}
|
||||
}
|
||||
|
|
@ -36,7 +51,7 @@ fun RoomListScreenNavigation(navigator: DestinationsNavigator) {
|
|||
navigator.navigate(MessagesScreenNavigationDestination(roomId = roomId.value))
|
||||
},
|
||||
onSuccessLogout = {
|
||||
navigator.navigate(LoginScreenNavigationDestination) {
|
||||
navigator.navigate(OnBoardingScreenNavigationDestination) {
|
||||
popUpTo(RoomListScreenNavigationDestination) {
|
||||
inclusive = true
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue