package com.monika.orangesky
import androidx.compose.runtime.*
import androidx.navigation.NavType
import androidx.navigation.compose.*
import androidx.navigation.navArgument
@Composable
fun AppNavigation() {
val navController = rememberNavController()
NavHost(navController = navController, startDestination = "login") {
composable("login") {
LoginScreen(
onLoginSuccess = { navController.navigate("home") { popUpTo("login") { inclusive = true } } },
onNavigateToRegister = { navController.navigate("register") }
)
}
composable("register") {
RegisterScreen(
onRegisterSuccess = { navController.popBackStack() }
)
}
composable("home") {
HomeScreen(
onUserClick = { userId -> navController.navigate("profile/$userId") },
onLogout = { navController.navigate("login") { popUpTo("home") { inclusive = true } } }
)
}
composable(
route = "profile/{userId}",
arguments = listOf(navArgument("userId") { type = NavType.StringType })
) { backStackEntry ->
val userId = backStackEntry.arguments?.getString("userId") ?: "1"
ProfileScreen(
userId = userId,
onBack = { navController.popBackStack() }
)
}
}
}