Browse Source

Timeline: Remove padding from parent Modifier

feature/jme/open-room-member-details-when-clicking-on-user-data
ganfra 1 year ago
parent
commit
9dcc3780ac
  1. 20
      features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt
  2. 16
      features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemContentView.kt
  3. 9
      features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt

20
features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt

@ -27,7 +27,6 @@ import androidx.compose.foundation.layout.fillMaxSize @@ -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( @@ -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( @@ -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,

16
features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemContentView.kt

@ -17,8 +17,10 @@ @@ -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 @@ -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( @@ -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,
)
}
}

9
features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt

@ -37,11 +37,12 @@ import io.element.android.features.messages.impl.timeline.model.event.TimelineIt @@ -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( @@ -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) }
)
}
}

Loading…
Cancel
Save