Navigation
This commit is contained in:
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user