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() } ) } } }