Files
SAIpp/app/src/main/java/com/example/saipp/ui/AppNavigation.kt
T

66 lines
2.3 KiB
Kotlin

package com.example.saipp.ui
import androidx.compose.runtime.Composable
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import com.example.saipp.ui.management.*
sealed class Screen(val route: String) {
object Home : Screen("home")
object SaiList : Screen("sai_list")
object SaiScanner : Screen("sai_scanner")
object BatteryList : Screen("battery_list")
object AddBattery : Screen("add_battery")
object PersonList : Screen("person_list")
object AddPerson : Screen("add_person")
}
@Composable
fun AppNavigation() {
val navController = rememberNavController()
NavHost(navController = navController, startDestination = Screen.Home.route) {
composable(Screen.Home.route) {
HomeScreen(
onNavigateToSais = { navController.navigate(Screen.SaiList.route) },
onNavigateToBatteries = { navController.navigate(Screen.BatteryList.route) },
onNavigateToPeople = { navController.navigate(Screen.PersonList.route) }
)
}
composable(Screen.SaiList.route) {
SaiListScreen(
onNavigateBack = { navController.popBackStack() },
onNavigateToScan = { navController.navigate(Screen.SaiScanner.route) }
)
}
composable(Screen.SaiScanner.route) {
SaiScannerScreen(
onNavigateBack = { navController.popBackStack() }
)
}
composable(Screen.BatteryList.route) {
BatteryListScreen(
onNavigateBack = { navController.popBackStack() },
onNavigateToAdd = { navController.navigate(Screen.AddBattery.route) }
)
}
composable(Screen.AddBattery.route) {
AddBatteryScreen(
onNavigateBack = { navController.popBackStack() }
)
}
composable(Screen.PersonList.route) {
PersonListScreen(
onNavigateBack = { navController.popBackStack() },
onNavigateToAdd = { navController.navigate(Screen.AddPerson.route) }
)
}
composable(Screen.AddPerson.route) {
AddPersonScreen(
onNavigateBack = { navController.popBackStack() }
)
}
}
}