Improve rendering of message reply preview.

This commit is contained in:
Benoit Marty 2023-06-26 15:38:48 +02:00 committed by Benoit Marty
parent a8cc935a82
commit 5a59529768

View file

@ -70,7 +70,6 @@ import io.element.android.libraries.designsystem.VectorIcons
import io.element.android.libraries.designsystem.modifiers.applyIf import io.element.android.libraries.designsystem.modifiers.applyIf
import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.theme.LocalColors
import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.designsystem.theme.components.Icon
import io.element.android.libraries.designsystem.theme.components.Surface import io.element.android.libraries.designsystem.theme.components.Surface
import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.Text
@ -79,6 +78,7 @@ import io.element.android.libraries.matrix.api.media.MediaSource
import io.element.android.libraries.matrix.ui.components.AttachmentThumbnail import io.element.android.libraries.matrix.ui.components.AttachmentThumbnail
import io.element.android.libraries.matrix.ui.components.AttachmentThumbnailInfo import io.element.android.libraries.matrix.ui.components.AttachmentThumbnailInfo
import io.element.android.libraries.matrix.ui.components.AttachmentThumbnailType import io.element.android.libraries.matrix.ui.components.AttachmentThumbnailType
import io.element.android.libraries.theme.LocalColors
import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.libraries.ui.strings.CommonStrings
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@ -252,16 +252,11 @@ private fun ReplyToModeView(
onResetComposerMode: () -> Unit, onResetComposerMode: () -> Unit,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
) { ) {
val paddings = if (attachmentThumbnailInfo != null) {
PaddingValues(start = 4.dp, end = 12.dp, top = 4.dp, bottom = 4.dp)
} else {
PaddingValues(start = 12.dp, end = 12.dp, top = 8.dp, bottom = 4.dp)
}
Row( Row(
modifier modifier
.clip(RoundedCornerShape(13.dp)) .clip(RoundedCornerShape(13.dp))
.background(MaterialTheme.colorScheme.surface) .background(MaterialTheme.colorScheme.surface)
.padding(paddings) .padding(4.dp)
) { ) {
if (attachmentThumbnailInfo != null) { if (attachmentThumbnailInfo != null) {
AttachmentThumbnail( AttachmentThumbnail(
@ -271,34 +266,20 @@ private fun ReplyToModeView(
.size(36.dp) .size(36.dp)
.clip(RoundedCornerShape(9.dp)) .clip(RoundedCornerShape(9.dp))
) )
Spacer(modifier = Modifier.width(8.dp))
} }
Column(verticalArrangement = Arrangement.SpaceEvenly) { Spacer(modifier = Modifier.width(8.dp))
Row( Column(
horizontalArrangement = Arrangement.spacedBy(6.dp), modifier = Modifier
modifier = Modifier.fillMaxWidth() .weight(1f)
) { .align(Alignment.CenterVertically)
Text( ) {
senderName, Text(
style = ElementTextStyles.Regular.caption2.copy(fontWeight = FontWeight.Medium), text = senderName,
textAlign = TextAlign.Start, modifier = Modifier.fillMaxWidth(),
color = MaterialTheme.colorScheme.primary, style = ElementTextStyles.Regular.caption2.copy(fontWeight = FontWeight.Medium),
modifier = Modifier.weight(1f) textAlign = TextAlign.Start,
) color = MaterialTheme.colorScheme.primary,
Icon( )
imageVector = Icons.Default.Close,
contentDescription = stringResource(CommonStrings.action_close),
tint = MaterialTheme.colorScheme.secondary,
modifier = Modifier
.size(16.dp)
.clickable(
enabled = true,
onClick = onResetComposerMode,
interactionSource = MutableInteractionSource(),
indication = rememberRipple(bounded = false)
),
)
}
Text( Text(
modifier = Modifier.fillMaxWidth(), modifier = Modifier.fillMaxWidth(),
@ -310,6 +291,20 @@ private fun ReplyToModeView(
overflow = TextOverflow.Ellipsis, overflow = TextOverflow.Ellipsis,
) )
} }
Icon(
imageVector = Icons.Default.Close,
contentDescription = stringResource(CommonStrings.action_close),
tint = MaterialTheme.colorScheme.secondary,
modifier = Modifier
.padding(end = 4.dp, top = 4.dp, start = 16.dp, bottom = 16.dp)
.size(16.dp)
.clickable(
enabled = true,
onClick = onResetComposerMode,
interactionSource = MutableInteractionSource(),
indication = rememberRipple(bounded = false)
),
)
} }
} }