66 lines
2.3 KiB
Kotlin
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() }
|
|
)
|
|
}
|
|
}
|
|
}
|