Timeline: Remove padding from parent Modifier

This commit is contained in:
ganfra
2023-04-26 16:12:52 +02:00
parent 93531665d8
commit 34c45eb6e0
3 changed files with 30 additions and 15 deletions

View File

@@ -27,7 +27,6 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.widthIn
@@ -212,12 +211,13 @@ fun TimelineItemEventRow(
Modifier.zIndex(1f)
)
}
val bubbleState = BubbleState(
groupPosition = event.groupPosition,
isMine = event.isMine,
isHighlighted = isHighlighted,
)
MessageEventBubble(
state = BubbleState(
groupPosition = event.groupPosition,
isMine = event.isMine,
isHighlighted = isHighlighted,
),
state = bubbleState,
interactionSource = interactionSource,
onClick = onClick,
onLongClick = onLongClick,
@@ -225,8 +225,12 @@ fun TimelineItemEventRow(
.zIndex(-1f)
.widthIn(max = 320.dp)
) {
val contentModifier = Modifier.padding(horizontal = 12.dp, vertical = 6.dp)
TimelineItemEventContentView(event.content, interactionSource, onClick, onLongClick, contentModifier)
TimelineItemEventContentView(
content = event.content,
interactionSource = interactionSource,
onClick = onClick,
onLongClick = onLongClick,
)
}
TimelineItemReactionsView(
reactionsState = event.reactionsState,

View File

@@ -17,8 +17,10 @@
package io.element.android.features.messages.impl.timeline.components.event
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.padding
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEncryptedContent
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEventContent
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemImageContent
@@ -26,6 +28,10 @@ import io.element.android.features.messages.impl.timeline.model.event.TimelineIt
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemTextBasedContent
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemUnknownContent
private fun Modifier.defaultContentPadding(): Modifier = padding(
horizontal = 12.dp, vertical = 6.dp
)
@Composable
fun TimelineItemEventContentView(
content: TimelineItemEventContent,
@@ -37,26 +43,26 @@ fun TimelineItemEventContentView(
when (content) {
is TimelineItemEncryptedContent -> TimelineItemEncryptedView(
content = content,
modifier = modifier
modifier = modifier.defaultContentPadding()
)
is TimelineItemRedactedContent -> TimelineItemRedactedView(
content = content,
modifier = modifier
modifier = modifier.defaultContentPadding()
)
is TimelineItemTextBasedContent -> TimelineItemTextView(
content = content,
interactionSource = interactionSource,
modifier = modifier,
modifier = modifier.defaultContentPadding(),
onTextClicked = onClick,
onTextLongClicked = onLongClick
)
is TimelineItemUnknownContent -> TimelineItemUnknownView(
content = content,
modifier = modifier
modifier = modifier.defaultContentPadding()
)
is TimelineItemImageContent -> TimelineItemImageView(
content = content,
modifier = modifier
modifier = modifier,
)
}
}

View File

@@ -37,11 +37,12 @@ import io.element.android.features.messages.impl.timeline.model.event.TimelineIt
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.preview.debugPlaceholderBackground
import timber.log.Timber
@Composable
fun TimelineItemImageView(
content: TimelineItemImageContent,
modifier: Modifier = Modifier
modifier: Modifier = Modifier,
) {
val widthPercent = if (content.aspectRatio > 1f) {
1f
@@ -65,7 +66,11 @@ fun TimelineItemImageView(
contentDescription = null,
placeholder = debugPlaceholderBackground(ColorPainter(MaterialTheme.colorScheme.surfaceVariant)),
contentScale = ContentScale.Crop,
onSuccess = { isLoading.value = false },
onSuccess = {
Timber.v("OnSuccess = ${it.result.dataSource}")
isLoading.value = false
},
onError = { Timber.e(it.result.throwable) }
)
}
}