diff --git a/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/account/AddAccountScreen.kt b/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/account/AddAccountScreen.kt index e41b421..5fe7ddb 100644 --- a/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/account/AddAccountScreen.kt +++ b/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/account/AddAccountScreen.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.testTag import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import app.folio.LocalAppComponent +import app.folio.di.LocalAppGraph import app.folio.ui.BackHandler import app.folio.ui.component.AppButton import app.folio.ui.component.BackButton @@ -27,8 +27,8 @@ import app.folio.ui.theme.Type @Composable fun AddAccountRoute() { - val component = LocalAppComponent.current - val vm: AddAccountViewModel = viewModel { AddAccountViewModel(component.repository, component.navigator) } + val graph = LocalAppGraph.current + val vm: AddAccountViewModel = viewModel { graph.addAccountViewModel } val state by vm.state.collectAsState() AddAccountScreen(state = state, onEvent = vm::onEvent) } diff --git a/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/auth/LoginScreen.kt b/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/auth/LoginScreen.kt index e53ae1b..e22fc98 100644 --- a/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/auth/LoginScreen.kt +++ b/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/auth/LoginScreen.kt @@ -15,7 +15,7 @@ import androidx.compose.ui.platform.testTag import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import app.folio.LocalAppComponent +import app.folio.di.LocalAppGraph import app.folio.ui.component.AppButton import app.folio.ui.component.ButtonStyle import app.folio.ui.component.Card @@ -28,8 +28,8 @@ import app.folio.ui.theme.Type @Composable fun LoginRoute() { - val component = LocalAppComponent.current - val vm: LoginViewModel = viewModel { LoginViewModel(component.repository, component.navigator) } + val graph = LocalAppGraph.current + val vm: LoginViewModel = viewModel { graph.loginViewModel } val state by vm.state.collectAsState() LoginScreen(state = state, onEvent = vm::onEvent) } diff --git a/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/home/HomeScreen.kt b/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/home/HomeScreen.kt index 678698b..4fbd28b 100644 --- a/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/home/HomeScreen.kt +++ b/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/home/HomeScreen.kt @@ -23,7 +23,7 @@ import androidx.compose.ui.semantics.Role import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import app.folio.LocalAppComponent +import app.folio.di.LocalAppGraph import app.folio.util.balanceOf import app.folio.util.formatCents import app.folio.util.initialsOf @@ -41,8 +41,8 @@ import app.folio.ui.theme.Type @Composable fun HomeRoute() { - val component = LocalAppComponent.current - val vm: HomeViewModel = viewModel { HomeViewModel(component.repository, component.navigator) } + val graph = LocalAppGraph.current + val vm: HomeViewModel = viewModel { graph.homeViewModel } val state by vm.state.collectAsState() HomeScreen(state = state, onEvent = vm::onEvent) } diff --git a/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/ledger/AddTransactionScreen.kt b/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/ledger/AddTransactionScreen.kt index c03983e..e319cec 100644 --- a/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/ledger/AddTransactionScreen.kt +++ b/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/ledger/AddTransactionScreen.kt @@ -13,8 +13,8 @@ import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import app.folio.LocalAppComponent import app.folio.core.data.TxnType +import app.folio.di.LocalAppGraph import app.folio.ui.BackHandler import app.folio.ui.component.AppButton import app.folio.ui.component.BackButton @@ -30,9 +30,9 @@ import app.folio.ui.theme.Type @Composable fun AddTransactionRoute(accountId: String) { - val component = LocalAppComponent.current + val graph = LocalAppGraph.current val vm: AddTransactionViewModel = viewModel(key = "addTxn:$accountId") { - AddTransactionViewModel(component.repository, component.navigator, accountId) + graph.addTransactionViewModelFactory.create(accountId) } val state by vm.state.collectAsState() AddTransactionScreen(state = state, onEvent = vm::onEvent) diff --git a/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/ledger/LedgerScreen.kt b/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/ledger/LedgerScreen.kt index 1a0c585..d3c20f5 100644 --- a/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/ledger/LedgerScreen.kt +++ b/examples/folio/app/shared/src/commonMain/kotlin/app/folio/feature/ledger/LedgerScreen.kt @@ -22,8 +22,8 @@ import androidx.compose.ui.platform.testTag import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import app.folio.LocalAppComponent import app.folio.core.data.TxnType +import app.folio.di.LocalAppGraph import app.folio.util.balanceOf import app.folio.util.formatCents import app.folio.util.formatDate @@ -42,9 +42,9 @@ import app.folio.ui.theme.Type @Composable fun LedgerRoute(accountId: String) { - val component = LocalAppComponent.current + val graph = LocalAppGraph.current val vm: LedgerViewModel = viewModel(key = "ledger:$accountId") { - LedgerViewModel(component.repository, component.navigator, accountId) + graph.ledgerViewModelFactory.create(accountId) } val state by vm.state.collectAsState() LedgerScreen(state = state, onEvent = vm::onEvent)