@@ -50,35 +50,23 @@ import androidx.compose.runtime.getValue
5050import androidx.compose.ui.Alignment
5151import androidx.compose.ui.Modifier
5252import androidx.compose.ui.graphics.Color
53- import androidx.compose.ui.platform.LocalContext
5453import androidx.compose.ui.res.stringResource
5554import androidx.compose.ui.text.style.TextAlign
5655import androidx.compose.ui.tooling.preview.Preview
5756import androidx.compose.ui.unit.dp
5857import androidx.lifecycle.viewmodel.compose.viewModel
59- import com.example.fruitties.android.MyApplicationTheme
58+ import com.example.fruitties.android.LocalAppContainer
6059import com.example.fruitties.android.R
61- import com.example.fruitties.android.di.App
6260import com.example.fruitties.model.CartItemDetails
6361import com.example.fruitties.model.Fruittie
6462import com.example.fruitties.viewmodel.CartUiState
6563import com.example.fruitties.viewmodel.CartViewModel
66- import com.example.fruitties.viewmodel.creationExtras
6764
6865@Composable
69- fun CartScreen (onNavBarBack : () -> Unit ) {
70- // Instantiate a ViewModel with a dependency on the AppContainer.
71- // To make ViewModel compatible with KMP, the ViewModel factory must
72- // create an instance without referencing the Android Application.
73- // Here we put the KMP-compatible AppContainer into the extras
74- // so it can be passed to the ViewModel factory.
75- val app = LocalContext .current.applicationContext as App
76-
77- val viewModel: CartViewModel = viewModel(
78- factory = CartViewModel .Factory ,
79- extras = creationExtras(app.container),
80- )
81-
66+ fun CartScreen (
67+ onNavBarBack : () -> Unit ,
68+ viewModel : CartViewModel = viewModel(factory = LocalAppContainer .current.cartViewModelFactory),
69+ ) {
8270 val cartState by viewModel.cartUiState.collectAsState()
8371
8472 CartScreen (
@@ -200,7 +188,7 @@ fun CartItem(
200188@Preview
201189@Composable
202190private fun CartScreenPreview () {
203- MyApplicationTheme {
191+ FruittiesTheme {
204192 CartScreen (
205193 onNavBarBack = {},
206194 cartState = CartUiState (
@@ -240,7 +228,7 @@ private fun CartScreenPreview() {
240228@Preview
241229@Composable
242230private fun CartItemPreview () {
243- MyApplicationTheme {
231+ FruittiesTheme {
244232 CartItem (
245233 cartItem = CartItemDetails (
246234 fruittie = Fruittie (
0 commit comments