diff --git a/composeApp/src/commonMain/kotlin/com/jetbrains/kmpapp/screens/detail/DetailScreen.kt b/composeApp/src/commonMain/kotlin/com/jetbrains/kmpapp/screens/detail/DetailScreen.kt index fe26b21..e69c44b 100644 --- a/composeApp/src/commonMain/kotlin/com/jetbrains/kmpapp/screens/detail/DetailScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/jetbrains/kmpapp/screens/detail/DetailScreen.kt @@ -46,16 +46,14 @@ import kmp_app_template.composeapp.generated.resources.label_medium import kmp_app_template.composeapp.generated.resources.label_repository import kmp_app_template.composeapp.generated.resources.label_title import org.jetbrains.compose.resources.stringResource -import org.koin.compose.viewmodel.koinNavViewModel -import org.koin.core.annotation.KoinExperimentalAPI +import org.koin.compose.viewmodel.koinViewModel @Composable fun DetailScreen( navController: NavController, objectId: Int, ) { - @OptIn(KoinExperimentalAPI::class) - val viewModel = koinNavViewModel() + val viewModel = koinViewModel() val obj by viewModel.getObject(objectId).collectAsState(initial = null) AnimatedContent(obj != null) { objectAvailable -> diff --git a/composeApp/src/commonMain/kotlin/com/jetbrains/kmpapp/screens/list/ListScreen.kt b/composeApp/src/commonMain/kotlin/com/jetbrains/kmpapp/screens/list/ListScreen.kt index 64a19b9..e5b0ad0 100644 --- a/composeApp/src/commonMain/kotlin/com/jetbrains/kmpapp/screens/list/ListScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/jetbrains/kmpapp/screens/list/ListScreen.kt @@ -29,15 +29,13 @@ import com.jetbrains.kmpapp.data.MuseumObject import com.jetbrains.kmpapp.screens.EmptyScreenContent import io.kamel.image.KamelImage import io.kamel.image.asyncPainterResource -import org.koin.compose.viewmodel.koinNavViewModel -import org.koin.core.annotation.KoinExperimentalAPI +import org.koin.compose.viewmodel.koinViewModel @Composable fun ListScreen( navController: NavController, ) { - @OptIn(KoinExperimentalAPI::class) - val viewModel = koinNavViewModel() + val viewModel = koinViewModel() val objects by viewModel.objects.collectAsState() AnimatedContent(objects.isNotEmpty()) { objectsAvailable -> diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c13871a..f991ef2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,8 +4,7 @@ androidx-activityCompose = "1.9.2" androidx-ui-tooling = "1.7.0" compose-multiplatform = "1.6.11" kamel = "0.9.5" -koin = "3.6.0-Beta5" -koin-compose = "1.2.0-Beta5" +koin = "4.0.0-RC2" kotlin = "2.0.20" ktor = "2.3.12" navigationCompose = "2.7.0-alpha07" @@ -16,7 +15,7 @@ androidx-compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling", versi androidx-compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "androidx-ui-tooling" } kamel = { module = "media.kamel:kamel-image", version.ref = "kamel" } koin-core = { module = "io.insert-koin:koin-core", version.ref = "koin" } -koin-compose-viewmodel = { module = "io.insert-koin:koin-compose-viewmodel", version.ref = "koin-compose" } +koin-compose-viewmodel = { module = "io.insert-koin:koin-compose-viewmodel", version.ref = "koin" } ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" } ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" } ktor-client-darwin = { module = "io.ktor:ktor-client-darwin", version.ref = "ktor" }