fix: chat message card layout (#174)

* fix: chat message card layout

* fix: chat card layout
This commit is contained in:
Diego Beraldin 2023-11-29 13:00:03 +01:00 committed by GitHub
parent d1f1ad51d9
commit 36577e29a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 14 deletions

View File

@ -22,7 +22,9 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Path import androidx.compose.ui.graphics.Path
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.CornerSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.CornerSize
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.PostCardBody
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.ScaledContent import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.ScaledContent
import com.github.diegoberaldin.raccoonforlemmy.core.utils.datetime.prettifyDate import com.github.diegoberaldin.raccoonforlemmy.core.utils.datetime.prettifyDate
@ -33,14 +35,14 @@ internal fun MessageCard(
date: String = "", date: String = "",
) { ) {
val color = if (isMyMessage) { val color = if (isMyMessage) {
MaterialTheme.colorScheme.tertiary MaterialTheme.colorScheme.tertiaryContainer
} else { } else {
MaterialTheme.colorScheme.secondary MaterialTheme.colorScheme.secondaryContainer
} }
val textColor = if (isMyMessage) { val textColor = if (isMyMessage) {
MaterialTheme.colorScheme.onTertiary MaterialTheme.colorScheme.onTertiaryContainer
} else { } else {
MaterialTheme.colorScheme.onSecondary MaterialTheme.colorScheme.onSecondaryContainer
} }
val longDistance = Spacing.l val longDistance = Spacing.l
val mediumDistance = Spacing.s val mediumDistance = Spacing.s
@ -90,9 +92,8 @@ internal fun MessageCard(
) { ) {
ScaledContent { ScaledContent {
Column { Column {
Text( PostCardBody(
text = content, text = content,
color = textColor,
) )
Row( Row(
horizontalArrangement = Arrangement.spacedBy(Spacing.xxxs), horizontalArrangement = Arrangement.spacedBy(Spacing.xxxs),
@ -101,9 +102,9 @@ internal fun MessageCard(
Spacer(modifier = Modifier.weight(1f)) Spacer(modifier = Modifier.weight(1f))
if (date.isNotEmpty()) { if (date.isNotEmpty()) {
val buttonModifier = Modifier.size(22.dp).padding(3.dp) val buttonModifier = Modifier.size(IconSize.m).padding(3.5.dp)
Icon( Icon(
modifier = buttonModifier.padding(1.dp), modifier = buttonModifier,
imageVector = Icons.Default.Schedule, imageVector = Icons.Default.Schedule,
contentDescription = null, contentDescription = null,
tint = textColor, tint = textColor,

View File

@ -5,6 +5,7 @@ import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.heightIn
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.shape.RoundedCornerShape
@ -27,7 +28,6 @@ import androidx.compose.ui.graphics.FilterQuality
import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.layout.onGloballyPositioned import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.layout.positionInParent import androidx.compose.ui.layout.positionInParent
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.DpOffset import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize
@ -37,6 +37,7 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomI
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.Option import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.Option
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.OptionId import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.OptionId
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.PlaceholderImage import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.PlaceholderImage
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.PostCardTitle
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.ScaledContent import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.ScaledContent
import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick
import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback
@ -125,12 +126,13 @@ internal fun ChatCard(
) )
ScaledContent { ScaledContent {
// last message text // last message text
Text( PostCardTitle(
modifier = Modifier.heightIn(max = 80.dp),
text = lastMessage, text = lastMessage,
maxLines = 2, autoLoadImages = autoLoadImages,
overflow = TextOverflow.Ellipsis, onClick = rememberCallback {
style = MaterialTheme.typography.labelLarge, onOpen?.invoke()
color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.9f), },
) )
} }