From bfb2b5a484fbba929ba4d4826cf8f7dc292df725 Mon Sep 17 00:00:00 2001 From: John O'Reilly Date: Fri, 5 Apr 2024 13:47:55 +0100 Subject: [PATCH] updated Markdown Renderer library with Wasm support --- composeApp/build.gradle.kts | 5 +---- composeApp/src/androidMain/kotlin/actual.kt | 6 ------ composeApp/src/commonMain/kotlin/App.kt | 3 ++- composeApp/src/commonMain/kotlin/expect.kt | 5 ----- composeApp/src/desktopMain/kotlin/actual.kt | 5 ----- composeApp/src/iosMain/kotlin/actual.kt | 5 ----- composeApp/src/wasmJsMain/kotlin/actual.kt | 8 -------- gradle/libs.versions.toml | 14 ++++++-------- 8 files changed, 9 insertions(+), 42 deletions(-) diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index a5f07ce..ae4b977 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -58,7 +58,7 @@ kotlin { implementation(libs.kotlinx.coroutines) - implementation(libs.koalaplot) + implementation(libs.markdown.renderer) api(libs.compose.window.size) api(libs.generativeai) @@ -70,20 +70,17 @@ kotlin { implementation(libs.voyager) implementation(libs.mpfilepicker) - implementation(libs.markdown.renderer) } desktopMain.dependencies { implementation(compose.desktop.currentOs) implementation(libs.ktor.client.java) implementation(libs.mpfilepicker) - implementation(libs.markdown.renderer) } appleMain.dependencies { implementation(libs.ktor.client.darwin) implementation(libs.mpfilepicker) - implementation(libs.markdown.renderer) } } } diff --git a/composeApp/src/androidMain/kotlin/actual.kt b/composeApp/src/androidMain/kotlin/actual.kt index 41f2751..f32c897 100644 --- a/composeApp/src/androidMain/kotlin/actual.kt +++ b/composeApp/src/androidMain/kotlin/actual.kt @@ -19,12 +19,6 @@ actual fun ByteArray.toComposeImageBitmap(): ImageBitmap { } -@Composable -actual fun GeminiMarkdown(content: String) { - Markdown(content) -} - - @OptIn(ExperimentalEncodingApi::class) @Composable actual fun ImagePicker( diff --git a/composeApp/src/commonMain/kotlin/App.kt b/composeApp/src/commonMain/kotlin/App.kt index bee0e43..a9fec4b 100644 --- a/composeApp/src/commonMain/kotlin/App.kt +++ b/composeApp/src/commonMain/kotlin/App.kt @@ -32,6 +32,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.ImageBitmap import androidx.compose.ui.graphics.painter.BitmapPainter import androidx.compose.ui.unit.dp +import com.mikepenz.markdown.m3.Markdown import dev.shreyaspatil.ai.client.generativeai.type.GenerateContentResponse import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.onCompletion @@ -158,7 +159,7 @@ fun App() { CircularProgressIndicator() } } else { - GeminiMarkdown(content) + Markdown(content) } } } diff --git a/composeApp/src/commonMain/kotlin/expect.kt b/composeApp/src/commonMain/kotlin/expect.kt index e866840..c19d7e8 100644 --- a/composeApp/src/commonMain/kotlin/expect.kt +++ b/composeApp/src/commonMain/kotlin/expect.kt @@ -6,11 +6,6 @@ expect fun ByteArray.toComposeImageBitmap(): ImageBitmap typealias ImageFileImported = (filePath: String, data: ByteArray?) -> Unit - - -@Composable -expect fun GeminiMarkdown(content: String) - @Composable expect fun ImagePicker( show: Boolean, diff --git a/composeApp/src/desktopMain/kotlin/actual.kt b/composeApp/src/desktopMain/kotlin/actual.kt index 12eb13d..262f018 100644 --- a/composeApp/src/desktopMain/kotlin/actual.kt +++ b/composeApp/src/desktopMain/kotlin/actual.kt @@ -9,11 +9,6 @@ import org.jetbrains.skia.Image actual fun ByteArray.toComposeImageBitmap(): ImageBitmap = Image.makeFromEncoded(this).toComposeImageBitmap() -@Composable -actual fun GeminiMarkdown(content: String) { - Markdown(content) -} - @Composable actual fun ImagePicker( show: Boolean, diff --git a/composeApp/src/iosMain/kotlin/actual.kt b/composeApp/src/iosMain/kotlin/actual.kt index 4a39897..07167a4 100644 --- a/composeApp/src/iosMain/kotlin/actual.kt +++ b/composeApp/src/iosMain/kotlin/actual.kt @@ -24,11 +24,6 @@ actual fun ByteArray.toComposeImageBitmap(): ImageBitmap { return Image.makeFromEncoded(this).toComposeImageBitmap() } -@Composable -actual fun GeminiMarkdown(content: String) { - Markdown(content) -} - @Composable actual fun ImagePicker( show: Boolean, diff --git a/composeApp/src/wasmJsMain/kotlin/actual.kt b/composeApp/src/wasmJsMain/kotlin/actual.kt index d666314..9554fa6 100644 --- a/composeApp/src/wasmJsMain/kotlin/actual.kt +++ b/composeApp/src/wasmJsMain/kotlin/actual.kt @@ -1,4 +1,3 @@ -import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.ui.graphics.ImageBitmap @@ -14,20 +13,13 @@ import org.w3c.files.get import kotlin.coroutines.resume import kotlin.coroutines.resumeWithException import kotlin.coroutines.suspendCoroutine -import kotlin.io.encoding.ExperimentalEncodingApi actual fun ByteArray.toComposeImageBitmap(): ImageBitmap { return Image.makeFromEncoded(this).toComposeImageBitmap() } -@Composable -actual fun GeminiMarkdown(content: String) { - Text(content) -} - -@OptIn(ExperimentalEncodingApi::class) @Composable actual fun ImagePicker( show: Boolean, diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ebeb516..e94a52c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -10,22 +10,21 @@ androidx-core-ktx = "1.12.0" androidx-espresso-core = "3.5.1" androidx-material = "1.11.0" androidx-test-junit = "1.1.5" -compose = "1.6.2" +compose = "1.6.4" compose-compiler = "1.5.8" -compose-plugin = "1.6.0" +compose-plugin = "1.6.1" composeWindowSize = "0.5.0" -generativeai = "0.2.1-1.0.0-wasm" -horologist = "0.6.3" -imageLoader = "1.7.7" +generativeai = "0.2.2-1.0.0-wasm" +horologist = "0.6.6" +imageLoader = "1.7.8" junit = "4.13.2" -koalaplot = "0.5.1" kotlin = "1.9.22" kotlinx-coroutines = "1.8.0" ktor = "3.0.0-wasm2" voyager= "1.0.0" buildkonfig = "0.15.1" mpFilePicker = "3.1.0" -markdownRenderer = "0.13.0" +markdownRenderer = "0.14.0" wearCompose = "1.3.0" [libraries] @@ -74,7 +73,6 @@ ktor-client-okhttp = { group = "io.ktor", name = "ktor-client-okhttp", version.r voyager = { module = "cafe.adriel.voyager:voyager-navigator", version.ref = "voyager" } imageLoader = { module = "io.github.qdsfdhvh:image-loader", version.ref = "imageLoader" } -koalaplot = { module = "io.github.koalaplot:koalaplot-core", version.ref = "koalaplot" } desugar = "com.android.tools:desugar_jdk_libs:2.0.4" [bundles]