|
|
|
@ -25,8 +25,10 @@ import androidx.compose.foundation.layout.Box
@@ -25,8 +25,10 @@ import androidx.compose.foundation.layout.Box
|
|
|
|
|
import androidx.compose.foundation.layout.Column |
|
|
|
|
import androidx.compose.foundation.layout.ExperimentalLayoutApi |
|
|
|
|
import androidx.compose.foundation.layout.FlowRow |
|
|
|
|
import androidx.compose.foundation.layout.Spacer |
|
|
|
|
import androidx.compose.foundation.layout.offset |
|
|
|
|
import androidx.compose.foundation.layout.padding |
|
|
|
|
import androidx.compose.foundation.layout.width |
|
|
|
|
import androidx.compose.foundation.shape.RoundedCornerShape |
|
|
|
|
import androidx.compose.foundation.text.InlineTextContent |
|
|
|
|
import androidx.compose.foundation.text.appendInlineContent |
|
|
|
@ -53,6 +55,9 @@ import androidx.compose.ui.tooling.preview.Preview
@@ -53,6 +55,9 @@ import androidx.compose.ui.tooling.preview.Preview
|
|
|
|
|
import androidx.compose.ui.tooling.preview.PreviewParameter |
|
|
|
|
import androidx.compose.ui.unit.dp |
|
|
|
|
import androidx.compose.ui.unit.sp |
|
|
|
|
import io.element.android.features.messages.impl.timeline.components.event.ExtraPadding |
|
|
|
|
import io.element.android.features.messages.impl.timeline.components.event.getDpSize |
|
|
|
|
import io.element.android.features.messages.impl.timeline.components.event.noExtraPadding |
|
|
|
|
import io.element.android.libraries.designsystem.components.ClickableLinkText |
|
|
|
|
import io.element.android.libraries.designsystem.preview.ElementPreviewDark |
|
|
|
|
import io.element.android.libraries.designsystem.preview.ElementPreviewLight |
|
|
|
@ -72,18 +77,23 @@ private const val CHIP_ID = "chip"
@@ -72,18 +77,23 @@ private const val CHIP_ID = "chip"
|
|
|
|
|
@Composable |
|
|
|
|
fun HtmlDocument( |
|
|
|
|
document: Document, |
|
|
|
|
extraPadding: ExtraPadding, |
|
|
|
|
interactionSource: MutableInteractionSource, |
|
|
|
|
modifier: Modifier = Modifier, |
|
|
|
|
onTextClicked: () -> Unit = {}, |
|
|
|
|
onTextLongClicked: () -> Unit = {}, |
|
|
|
|
) { |
|
|
|
|
HtmlBody( |
|
|
|
|
body = document.body(), |
|
|
|
|
interactionSource = interactionSource, |
|
|
|
|
FlowRow( |
|
|
|
|
modifier = modifier, |
|
|
|
|
onTextClicked = onTextClicked, |
|
|
|
|
onTextLongClicked = onTextLongClicked, |
|
|
|
|
) |
|
|
|
|
) { |
|
|
|
|
HtmlBody( |
|
|
|
|
body = document.body(), |
|
|
|
|
interactionSource = interactionSource, |
|
|
|
|
onTextClicked = onTextClicked, |
|
|
|
|
onTextLongClicked = onTextLongClicked, |
|
|
|
|
) |
|
|
|
|
Spacer(modifier = Modifier.width(extraPadding.getDpSize())) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Composable |
|
|
|
@ -603,5 +613,9 @@ internal fun HtmlDocumentDarkPreview(@PreviewParameter(DocumentProvider::class)
@@ -603,5 +613,9 @@ internal fun HtmlDocumentDarkPreview(@PreviewParameter(DocumentProvider::class)
|
|
|
|
|
|
|
|
|
|
@Composable |
|
|
|
|
private fun ContentToPreview(document: Document) { |
|
|
|
|
HtmlDocument(document, remember { MutableInteractionSource() }) |
|
|
|
|
HtmlDocument( |
|
|
|
|
document = document, |
|
|
|
|
extraPadding = noExtraPadding, |
|
|
|
|
interactionSource = remember { MutableInteractionSource() } |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|