Skip to content

Commit ca2317b

Browse files
committed
host website
1 parent 29470dd commit ca2317b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+705
-704
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ changing the Gemini API key.
7070
network calls to the REST API.
7171
- [Kermit](https://github.com/touchlab/Kermit) - Kermit by Touchlab is a Kotlin Multiplatform centralized logging
7272
utility.
73-
- [PreCompose](https://github.com/Tlaster/PreCompose) - Compose Multiplatform ViewModel and it's Kotlin Multiplatform
73+
- [ViewModel](https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-viewmodel.html) - Compose Multiplatform ViewModel and it's Kotlin Multiplatform
7474
project.
7575
- [Compose Multiplatform File Picker](https://github.com/Wavesonics/compose-multiplatform-file-picker) - A multiplatform
7676
compose widget for picking files.

composeApp/build.gradle.kts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,13 @@ kotlin {
5656
implementation(compose.preview)
5757
implementation(libs.androidx.activity.compose)
5858

59-
api(libs.spotlight.android)
6059
implementation(libs.sqldelight.android.driver)
6160

6261
implementation(libs.ktor.client.okhttp)
6362

6463
// koin
6564
implementation(libs.koin.android)
65+
implementation(libs.koin.androidx.compose)
6666

6767
// kstore
6868
implementation(libs.kstore.file)
@@ -79,10 +79,8 @@ kotlin {
7979
implementation(compose.components.resources)
8080
implementation(compose.components.uiToolingPreview)
8181

82-
// precompose
83-
api(libs.precompose)
84-
api(libs.precompose.viewmodel)
85-
api(libs.precompose.koin)
82+
// Viewmodel
83+
implementation(libs.androidx.viewmodel.compose)
8684

8785
// date time
8886
implementation(libs.kotlinx.datetime)
@@ -91,7 +89,6 @@ kotlin {
9189
implementation(libs.multiplatform.settings.no.arg)
9290

9391
// SQLDelight
94-
implementation(libs.spotlight)
9592
implementation(libs.sqldelight.coroutine.ext)
9693
implementation(libs.sqldelight.primitive.adapters)
9794

@@ -103,6 +100,7 @@ kotlin {
103100

104101
// koin
105102
implementation(libs.koin.core)
103+
implementation(libs.koin.compose)
106104

107105
//Ktor
108106
implementation(libs.ktor.client.core)

composeApp/src/JsMain/kotlin/di/PlatformModule.kt

Lines changed: 0 additions & 9 deletions
This file was deleted.

composeApp/src/JsMain/kotlin/main.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,14 @@ import androidx.compose.ui.ExperimentalComposeUiApi
22
import androidx.compose.ui.window.CanvasBasedWindow
33
import di.initKoin
44
import org.jetbrains.skiko.wasm.onWasmReady
5-
import org.koin.mp.KoinPlatform
6-
import presentation.screens.mainscreen.MainViewModel
5+
import org.koin.compose.koinInject
76

87
@OptIn(ExperimentalComposeUiApi::class)
98
fun main() {
10-
initKoin(){}
9+
initKoin()
1110
onWasmReady {
1211
CanvasBasedWindow(title = "Gemini AI KMP App", canvasElementId = "ComposeTarget") {
13-
val mainViewModel: MainViewModel = KoinPlatform.getKoin().get()
14-
App(mainViewModel)
12+
App(koinInject())
1513
}
1614
}
1715
}

composeApp/src/androidMain/kotlin/com/coding/meet/gaminiaikmp/MainActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import androidx.activity.OnBackPressedCallback
77
import androidx.activity.compose.setContent
88
import androidx.compose.ui.graphics.toArgb
99
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
10-
import org.koin.mp.KoinPlatform
10+
import org.koin.compose.koinInject
1111
import utils.Screens
1212
import presentation.screens.mainscreen.MainViewModel
1313
import theme.borderColor
@@ -21,7 +21,7 @@ class MainActivity : ComponentActivity() {
2121
window.statusBarColor = borderColor.toArgb()
2222
window.navigationBarColor = borderColor.toArgb()
2323
setContent {
24-
val mainViewModel: MainViewModel = KoinPlatform.getKoin().get()
24+
val mainViewModel = koinInject<MainViewModel>()
2525
onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) {
2626
override fun handleOnBackPressed() {
2727
if (mainViewModel.screens == Screens.DETAIL) {

composeApp/src/androidMain/kotlin/di/PlatformModule.kt

Lines changed: 0 additions & 10 deletions
This file was deleted.

composeApp/src/commonMain/kotlin/di/DatabaseModule.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ import data.database.SharedDatabase
44
import org.koin.dsl.module
55

66
val databaseModule = module {
7+
single { DatabaseDriverFactory() }
78
single { SharedDatabase(get()) }
89
}

composeApp/src/commonMain/kotlin/di/Koin.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ fun initKoin(appDeclaration: KoinAppDeclaration = {}) =
1313
geminiRepositoryModule,
1414
networkModule,
1515
useCaseModule,
16-
viewModelModule,
17-
platformModule()
16+
viewModelModule
1817
)
1918
}

composeApp/src/commonMain/kotlin/di/PlatformModule.kt

Lines changed: 0 additions & 5 deletions
This file was deleted.
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package di
22

3+
import org.koin.core.module.dsl.factoryOf
34
import org.koin.dsl.module
45
import presentation.screens.chatscreen.ChatViewModel
56
import presentation.screens.mainscreen.MainViewModel
67
import utils.AppCoroutineDispatchers
78

89
val viewModelModule = module {
910
single<AppCoroutineDispatchers> { AppCoroutineDispatchersImpl() }
10-
single { MainViewModel(get(),get(),get()) }
11-
single { ChatViewModel(get(),get(),get(),get(),get(),get(),get()) }
11+
factoryOf(::MainViewModel)
12+
factoryOf(::ChatViewModel)
1213
}

0 commit comments

Comments
 (0)