diff --git a/connector/composeApp/src/desktopMain/kotlin/tab/procedure/ListProcedures.kt b/connector/composeApp/src/desktopMain/kotlin/tab/procedure/ListProcedures.kt index 6374787..c997df5 100644 --- a/connector/composeApp/src/desktopMain/kotlin/tab/procedure/ListProcedures.kt +++ b/connector/composeApp/src/desktopMain/kotlin/tab/procedure/ListProcedures.kt @@ -151,6 +151,7 @@ class ListProcedures ( DropdownMenuItem( text = { Text("Run Test") }, onClick = { + viewModel.procedureId = procedure.id tabNavigator.current = SimulatorTest }, leadingIcon = { diff --git a/connector/composeApp/src/desktopMain/kotlin/tab/test/SimulatorTest.kt b/connector/composeApp/src/desktopMain/kotlin/tab/test/SimulatorTest.kt index a5df89b..63ef7e2 100644 --- a/connector/composeApp/src/desktopMain/kotlin/tab/test/SimulatorTest.kt +++ b/connector/composeApp/src/desktopMain/kotlin/tab/test/SimulatorTest.kt @@ -1,7 +1,8 @@ package tab.test -import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.remember +import cafe.adriel.voyager.navigator.CurrentScreen +import cafe.adriel.voyager.navigator.Navigator import cafe.adriel.voyager.navigator.tab.Tab import cafe.adriel.voyager.navigator.tab.TabOptions import connector.composeapp.generated.resources.Res @@ -30,6 +31,8 @@ object SimulatorTest : Tab { @Composable override fun Content() { - Text("Simulator Test") + Navigator(TestContent()) { + CurrentScreen() + } } } diff --git a/connector/composeApp/src/desktopMain/kotlin/tab/test/TestContent.kt b/connector/composeApp/src/desktopMain/kotlin/tab/test/TestContent.kt new file mode 100644 index 0000000..986a162 --- /dev/null +++ b/connector/composeApp/src/desktopMain/kotlin/tab/test/TestContent.kt @@ -0,0 +1,26 @@ +package tab.test + +import androidx.compose.runtime.* +import cafe.adriel.voyager.core.screen.Screen +import cafe.adriel.voyager.koin.getScreenModel +import tab.LoadingScreen +import tab.procedure.ActionsScreenModel +import tab.procedure.ActionsState + +class TestContent : Screen { + @Composable + override fun Content() { + val screenModel = getScreenModel() + val state by screenModel.state.collectAsState() + + when (val s = state) { + is ActionsState.Loading -> LoadingScreen("Simulator Test") + is ActionsState.Idle -> { /* TODO implement error? */ } + is ActionsState.Result -> TODO("Not yet implemented") + } + + LaunchedEffect(currentCompositeKeyHash) { + screenModel.getActions() + } + } +}