From 4c6edb8a7018e6fea0e6e8a46b77434acf795d42 Mon Sep 17 00:00:00 2001 From: Thomas Andres Gomez Date: Mon, 2 Aug 2021 16:05:15 +0200 Subject: [PATCH] Add support for HTML in the detail page. --- .../biblib/ui/composable/common/HtmlText.kt | 19 +++++++++++++++++++ .../biblib/ui/composable/pages/DetailPage.kt | 6 +++--- 2 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/com/pixelized/biblib/ui/composable/common/HtmlText.kt diff --git a/app/src/main/java/com/pixelized/biblib/ui/composable/common/HtmlText.kt b/app/src/main/java/com/pixelized/biblib/ui/composable/common/HtmlText.kt new file mode 100644 index 0000000..17817cf --- /dev/null +++ b/app/src/main/java/com/pixelized/biblib/ui/composable/common/HtmlText.kt @@ -0,0 +1,19 @@ +package com.pixelized.biblib.ui.composable.common + +import android.widget.TextView +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.viewinterop.AndroidView +import androidx.core.text.HtmlCompat + +@Composable +fun HtmlText( + html: String, + modifier: Modifier = Modifier +) { + AndroidView( + modifier = modifier, + factory = { context -> TextView(context) }, + update = { it.text = HtmlCompat.fromHtml(html, HtmlCompat.FROM_HTML_MODE_COMPACT) } + ) +} \ No newline at end of file diff --git a/app/src/main/java/com/pixelized/biblib/ui/composable/pages/DetailPage.kt b/app/src/main/java/com/pixelized/biblib/ui/composable/pages/DetailPage.kt index 9ece3fd..dca3c27 100644 --- a/app/src/main/java/com/pixelized/biblib/ui/composable/pages/DetailPage.kt +++ b/app/src/main/java/com/pixelized/biblib/ui/composable/pages/DetailPage.kt @@ -27,6 +27,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel import com.pixelized.biblib.R +import com.pixelized.biblib.ui.composable.common.HtmlText import com.pixelized.biblib.ui.composable.items.Image import com.pixelized.biblib.ui.data.BookUio import com.pixelized.biblib.ui.theme.BibLibTheme @@ -135,9 +136,8 @@ fun DetailPage(book: BookUio) { label = book.series ?: "-", ) } - Text( - style = typography.body1, - text = book.description, + HtmlText( + html = book.description, modifier = Modifier.padding(bottom = 16.dp) ) }