From 87e9c218a27d8cbb4fdaf68aac85c2962b5bdc33 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Wed, 6 Oct 2021 10:50:34 +0530 Subject: [PATCH] android: switch to MikePenz' Markdown renderer --- android/build.gradle.kts | 4 +--- .../kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt | 5 ++--- .../dev/msfjarvis/claw/common/comments/CommentEntry.kt | 8 ++++---- gradle/libs.versions.toml | 5 +---- 4 files changed, 8 insertions(+), 14 deletions(-) diff --git a/android/build.gradle.kts b/android/build.gradle.kts index 837f728f..9ae04a46 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -22,9 +22,7 @@ dependencies { implementation(libs.androidx.lifecycle.compose) implementation(libs.androidx.navigation.compose) implementation(libs.androidx.paging.compose) - implementation(libs.compose.richtext.markdown) - implementation(libs.compose.richtext.material) - implementation(libs.compose.richtext.ui) + implementation(libs.multiplatform.markdown.android) implementation(libs.copydown) implementation(libs.dagger.hilt.android) implementation(libs.sqldelight.extensions.coroutines) diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt index e2bc2756..f4cf8455 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt @@ -28,8 +28,7 @@ import com.google.accompanist.insets.ProvideWindowInsets import com.google.accompanist.insets.navigationBarsPadding import com.google.accompanist.insets.statusBarsPadding import com.google.accompanist.systemuicontroller.rememberSystemUiController -import com.halilibo.richtext.markdown.Markdown -import com.halilibo.richtext.ui.material.MaterialRichText +import com.mikepenz.markdown.Markdown import dev.msfjarvis.claw.android.viewmodel.ClawViewModel import dev.msfjarvis.claw.common.comments.CommentsPage import dev.msfjarvis.claw.common.theme.LobstersTheme @@ -107,7 +106,7 @@ fun LobstersApp( getDetails = viewModel::getPostComments, renderMarkdown = { source, modifier -> val markdown = copydown.convert(source) - MaterialRichText(modifier = modifier) { Markdown(markdown) } + Markdown(markdown, modifier = modifier) }, paddingValues = paddingValues, ) diff --git a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/CommentEntry.kt b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/CommentEntry.kt index 5d4f0999..1fe73a5d 100644 --- a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/CommentEntry.kt +++ b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/CommentEntry.kt @@ -4,12 +4,13 @@ import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.IntrinsicSize import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width -import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.material.Divider import androidx.compose.material.Surface import androidx.compose.runtime.Composable @@ -47,9 +48,8 @@ fun CommentEntry( val startPadding = ((10 * indentLevel) + 16).dp Divider(color = Color.Gray.copy(0.4f)) - Row(modifier = Modifier.wrapContentHeight()) { - // Don't work without IntrinsicSize, which we cannot use with the Android markdown implementation - // CommentTreeColors(indentLevel = indentLevel) + Row(modifier = Modifier.height(IntrinsicSize.Min)) { + CommentTreeColors(indentLevel = indentLevel) Column( modifier = Modifier.padding(start = startPadding, end = 8.dp, top = 4.dp, bottom = 4.dp) ) { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f4e6d5b4..280a0cfc 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,6 @@ accompanist = "0.19.0" aurora = "0.0.54-SNAPSHOT" coroutines = "1.5.2" hilt = "2.39" -richtext = "0.8.1" serialization = "1.3.0" sqldelight = "1.5.1" @@ -38,9 +37,7 @@ dagger-hilt-android = { module = "com.google.dagger:hilt-android", version.ref = dagger-hilt-compiler = { module = "com.google.dagger:hilt-compiler", version.ref = "hilt" } dagger-hilt-core = { module = "com.google.dagger:hilt-core", version.ref = "hilt" } -compose-richtext-ui = { module = "com.halilibo.compose-richtext:richtext-ui", version.ref = "richtext" } -compose-richtext-material = { module = "com.halilibo.compose-richtext:richtext-ui-material", version.ref = "richtext" } -compose-richtext-markdown = { module = "com.halilibo.compose-richtext:richtext-commonmark", version.ref = "richtext" } +multiplatform-markdown-android = "com.mikepenz:multiplatform-markdown-renderer-android:0.0.1" copydown = "io.github.furstenheim:copy_down:1.0" multiplatform-paging = "dev.msfjarvis.paging:multiplatform-paging:0.4.5-SNAPSHOT"