Navigation

This commit is contained in:
sathwikcs
2024-10-16 17:50:49 +05:30
parent bbbbb460ad
commit 9f4c4c7057
2 changed files with 58 additions and 9 deletions

View File

@@ -1,5 +1,7 @@
package `in`.sminnovations.attendanceapp
import android.os.Build
import androidx.annotation.RequiresApi
import androidx.compose.runtime.Composable
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.navigation.NavHostController
@@ -7,34 +9,33 @@ import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import `in`.sminnovations.attendanceapp.screens.login.ui.LoginScreen
import `in`.sminnovations.attendanceapp.screens.home.navigationDrawer.ui.NavigationDrawer
@Composable
fun AppNavigation() {
val navController = rememberNavController()
NavigationHost(navController = navController)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
NavigationHost(navController = navController)
}
}
@RequiresApi(Build.VERSION_CODES.O_MR1)
@Composable
fun NavigationHost(navController: NavHostController) {
NavHost(navController = navController, startDestination = "login") {
// Login Screen Route
composable("login") {
LoginScreen(
loginViewModel = hiltViewModel(),
onLoginSuccess = {
// Navigate to the home screen after login success
navController.navigate("home") {
// Pop the login screen from the back stack
navController.navigate("main") {
popUpTo("login") { inclusive = true }
}
}
)
}
composable("home") {
NavigationDrawer()
composable("main") {
MainScreen()
}
}
}