diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index ff24fe0..931a975 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -14,14 +14,12 @@ plugins { kotlin { androidTarget { - @OptIn(ExperimentalKotlinGradlePluginApi::class) compilerOptions { jvmTarget.set(JvmTarget.JVM_11) } } listOf( - iosX64(), iosArm64(), iosSimulatorArm64() ).forEach { iosTarget -> @@ -31,25 +29,16 @@ kotlin { } } - jvm("desktop") + jvm() + + js { + browser() + binaries.executable() + } @OptIn(ExperimentalWasmDsl::class) wasmJs { - outputModuleName.set("composeApp") - browser { - val rootDirPath = project.rootDir.path - val projectDirPath = project.projectDir.path - commonWebpackConfig { - outputFileName = "composeApp.js" - devServer = (devServer ?: KotlinWebpackConfig.DevServer()).apply { - static = (static ?: mutableListOf()).apply { - // Serve sources to debug inside browser - add(rootDirPath) - add(projectDirPath) - } - } - } - } + browser() binaries.executable() } @@ -60,8 +49,6 @@ kotlin { } } - val desktopMain by getting - androidMain.dependencies { implementation(compose.preview) implementation(libs.androidx.activity.compose) @@ -73,14 +60,14 @@ kotlin { implementation(compose.ui) implementation(compose.components.resources) implementation(compose.components.uiToolingPreview) - implementation(libs.androidx.lifecycle.viewmodel) + implementation(libs.androidx.lifecycle.viewmodelCompose) implementation(libs.androidx.lifecycle.runtimeCompose) implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.7.1") } commonTest.dependencies { implementation(libs.kotlin.test) } - desktopMain.dependencies { + jvmMain.dependencies { implementation(compose.desktop.currentOs) implementation(libs.kotlinx.coroutinesSwing) } diff --git a/composeApp/src/jsMain/kotlin/compose/project/demo/composedemo/Platform.js.kt b/composeApp/src/jsMain/kotlin/compose/project/demo/composedemo/Platform.js.kt new file mode 100644 index 0000000..1dbbc8d --- /dev/null +++ b/composeApp/src/jsMain/kotlin/compose/project/demo/composedemo/Platform.js.kt @@ -0,0 +1,7 @@ +package compose.project.demo.composedemo + +class JsPlatform: Platform { + override val name: String = "Web with Kotlin/JS" +} + +actual fun getPlatform(): Platform = JsPlatform() \ No newline at end of file diff --git a/composeApp/src/desktopMain/kotlin/compose/project/demo/composedemo/Platform.jvm.kt b/composeApp/src/jvmMain/kotlin/compose/project/demo/composedemo/Platform.jvm.kt similarity index 100% rename from composeApp/src/desktopMain/kotlin/compose/project/demo/composedemo/Platform.jvm.kt rename to composeApp/src/jvmMain/kotlin/compose/project/demo/composedemo/Platform.jvm.kt diff --git a/composeApp/src/desktopMain/kotlin/compose/project/demo/composedemo/main.kt b/composeApp/src/jvmMain/kotlin/compose/project/demo/composedemo/main.kt similarity index 100% rename from composeApp/src/desktopMain/kotlin/compose/project/demo/composedemo/main.kt rename to composeApp/src/jvmMain/kotlin/compose/project/demo/composedemo/main.kt diff --git a/composeApp/src/wasmJsMain/kotlin/compose/project/demo/composedemo/main.kt b/composeApp/src/webMain/kotlin/compose/project/demo/composedemo/main.kt similarity index 71% rename from composeApp/src/wasmJsMain/kotlin/compose/project/demo/composedemo/main.kt rename to composeApp/src/webMain/kotlin/compose/project/demo/composedemo/main.kt index 43a3cd7..7bd9d08 100644 --- a/composeApp/src/wasmJsMain/kotlin/compose/project/demo/composedemo/main.kt +++ b/composeApp/src/webMain/kotlin/compose/project/demo/composedemo/main.kt @@ -2,8 +2,10 @@ package compose.project.demo.composedemo import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.window.ComposeViewport -import kotlinx.browser.document +import kotlin.js.ExperimentalWasmJsInterop +import kotlin.js.JsModule +@OptIn(ExperimentalWasmJsInterop::class) @JsModule("@js-joda/timezone") external object JsJodaTimeZoneModule @@ -11,7 +13,7 @@ private val jsJodaTz = JsJodaTimeZoneModule @OptIn(ExperimentalComposeUiApi::class) fun main() { - ComposeViewport(viewportContainerId = "composeApplication") { + ComposeViewport { App() } -} +} \ No newline at end of file diff --git a/composeApp/src/wasmJsMain/resources/index.html b/composeApp/src/webMain/resources/index.html similarity index 82% rename from composeApp/src/wasmJsMain/resources/index.html rename to composeApp/src/webMain/resources/index.html index e8b1881..0efc1d6 100644 --- a/composeApp/src/wasmJsMain/resources/index.html +++ b/composeApp/src/webMain/resources/index.html @@ -8,6 +8,5 @@
-