From 9b7f427f20005e9ce15ae6584ca4314c6f3754ca Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 27 Jun 2023 12:34:28 +0200 Subject: [PATCH] Increase padding around date in timeline and add Virtual items to the preview. --- .../impl/timeline/TimelineStateProvider.kt | 14 ++++++++++++++ .../virtual/TimelineItemDaySeparatorView.kt | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt index 1c2b53bc56..fd7c4402f4 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt @@ -23,6 +23,8 @@ import io.element.android.features.messages.impl.timeline.model.TimelineItemReac import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEventContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemStateEventContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent +import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemLoadingModel +import io.element.android.features.messages.impl.timeline.model.virtual.aTimelineItemDaySeparatorModel import io.element.android.libraries.designsystem.components.avatar.AvatarData import io.element.android.libraries.designsystem.components.avatar.AvatarSize import io.element.android.libraries.matrix.api.core.EventId @@ -88,9 +90,21 @@ internal fun aTimelineItemList(content: TimelineItemEventContent): ImmutableList ), // A grouped event on top of it aGroupedEvents(), + // A day separator + aTimelineItemDaySeparator(), + // Loading + aTimelineItemLoading(), ) } +fun aTimelineItemLoading(): TimelineItem.Virtual { + return TimelineItem.Virtual("virtual_loading", TimelineItemLoadingModel) +} + +fun aTimelineItemDaySeparator(): TimelineItem.Virtual { + return TimelineItem.Virtual("virtual_day", aTimelineItemDaySeparatorModel("Today")) +} + internal fun aTimelineItemEvent( eventId: EventId = EventId("\$" + Random.nextInt().toString()), transactionId: String? = null, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/virtual/TimelineItemDaySeparatorView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/virtual/TimelineItemDaySeparatorView.kt index 84e66e54a8..fc8d0ec387 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/virtual/TimelineItemDaySeparatorView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/virtual/TimelineItemDaySeparatorView.kt @@ -43,7 +43,7 @@ internal fun TimelineItemDaySeparatorView( modifier = modifier .fillMaxWidth() .wrapContentHeight() - .padding(8.dp), + .padding(16.dp), contentAlignment = Alignment.Center, ) { Text(