Timeline : add box around TimelineItemVirtualRow

This commit is contained in:
ganfra 2024-04-23 15:04:49 +02:00
parent e09e23abb0
commit 0480f8d1bc

View file

@ -16,6 +16,7 @@
package io.element.android.features.messages.impl.timeline.components package io.element.android.features.messages.impl.timeline.components
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.LaunchedEffect
@ -42,17 +43,19 @@ fun TimelineItemVirtualRow(
eventSink: (TimelineEvents.EventFromTimelineItem) -> Unit, eventSink: (TimelineEvents.EventFromTimelineItem) -> Unit,
modifier: Modifier = Modifier modifier: Modifier = Modifier
) { ) {
when (virtual.model) { Box(modifier = modifier) {
is TimelineItemDaySeparatorModel -> TimelineItemDaySeparatorView(virtual.model, modifier) when (virtual.model) {
TimelineItemReadMarkerModel -> TimelineItemReadMarkerView() is TimelineItemDaySeparatorModel -> TimelineItemDaySeparatorView(virtual.model)
is TimelineItemEncryptedHistoryBannerVirtualModel -> TimelineEncryptedHistoryBannerView(modifier) TimelineItemReadMarkerModel -> TimelineItemReadMarkerView()
TimelineItemRoomBeginningModel -> TimelineItemRoomBeginningView(roomName = timelineRoomInfo.name, modifier = modifier) is TimelineItemEncryptedHistoryBannerVirtualModel -> TimelineEncryptedHistoryBannerView()
is TimelineItemLoadingIndicatorModel -> { TimelineItemRoomBeginningModel -> TimelineItemRoomBeginningView(roomName = timelineRoomInfo.name)
TimelineLoadingMoreIndicator(modifier) is TimelineItemLoadingIndicatorModel -> {
LaunchedEffect(key1 = virtual.model.timestamp) { TimelineLoadingMoreIndicator()
eventSink(TimelineEvents.LoadMore(virtual.model.direction)) LaunchedEffect(key1 = virtual.model.timestamp) {
eventSink(TimelineEvents.LoadMore(virtual.model.direction))
}
} }
TimelineItemInvisibleIndicatorModel -> Spacer(Modifier)
} }
TimelineItemInvisibleIndicatorModel -> Spacer(modifier = modifier)
} }
} }