mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 16:27:06 +05:30
common: delegate comment parsing to platforms
This commit is contained in:
parent
b0c3af7883
commit
5749b98b23
5 changed files with 28 additions and 14 deletions
|
@ -22,6 +22,10 @@ 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.copydown)
|
||||
implementation(libs.dagger.hilt.android)
|
||||
implementation(libs.sqldelight.extensions.coroutines)
|
||||
implementation(libs.kotlinx.serialization.json)
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package dev.msfjarvis.claw.android.ui
|
||||
|
||||
import android.text.Html
|
||||
import androidx.compose.animation.ExperimentalAnimationApi
|
||||
import androidx.compose.foundation.isSystemInDarkTheme
|
||||
import androidx.compose.foundation.lazy.rememberLazyListState
|
||||
|
@ -29,10 +28,13 @@ 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 dev.msfjarvis.claw.android.viewmodel.ClawViewModel
|
||||
import dev.msfjarvis.claw.common.comments.CommentsPage
|
||||
import dev.msfjarvis.claw.common.theme.LobstersTheme
|
||||
import dev.msfjarvis.claw.common.urllauncher.UrlLauncher
|
||||
import io.github.furstenheim.CopyDown
|
||||
|
||||
private const val ScrollDelta = 50
|
||||
|
||||
|
@ -42,6 +44,7 @@ fun LobstersApp(
|
|||
viewModel: ClawViewModel = viewModel(),
|
||||
urlLauncher: UrlLauncher,
|
||||
) {
|
||||
val copydown = remember { CopyDown() }
|
||||
val systemUiController = rememberSystemUiController()
|
||||
val scaffoldState = rememberScaffoldState()
|
||||
val listState = rememberLazyListState()
|
||||
|
@ -102,7 +105,10 @@ fun LobstersApp(
|
|||
CommentsPage(
|
||||
postId = requireNotNull(backStackEntry.arguments?.getString("postId")),
|
||||
getDetails = viewModel::getPostComments,
|
||||
parseHtml = { source -> Html.fromHtml(source).toString().trim() },
|
||||
renderMarkdown = { source, modifier ->
|
||||
val markdown = copydown.convert(source)
|
||||
MaterialRichText(modifier = modifier) { Markdown(markdown) }
|
||||
},
|
||||
paddingValues = paddingValues,
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue