Add preview for expanded state of GroupedEvents.
This commit is contained in:
parent
4b44b99350
commit
4175bb8616
3 changed files with 64 additions and 5 deletions
|
|
@ -187,16 +187,21 @@ internal fun aTimelineItemReadReceipts(): TimelineItemReadReceipts {
|
||||||
}
|
}
|
||||||
|
|
||||||
fun aGroupedEvents(id: Long = 0): TimelineItem.GroupedEvents {
|
fun aGroupedEvents(id: Long = 0): TimelineItem.GroupedEvents {
|
||||||
val event = aTimelineItemEvent(
|
val event1 = aTimelineItemEvent(
|
||||||
isMine = true,
|
isMine = true,
|
||||||
content = aTimelineItemStateEventContent(),
|
content = aTimelineItemStateEventContent(),
|
||||||
groupPosition = TimelineItemGroupPosition.None
|
groupPosition = TimelineItemGroupPosition.None
|
||||||
)
|
)
|
||||||
|
val event2 = aTimelineItemEvent(
|
||||||
|
isMine = true,
|
||||||
|
content = aTimelineItemStateEventContent(body = "Another state event"),
|
||||||
|
groupPosition = TimelineItemGroupPosition.None
|
||||||
|
)
|
||||||
return TimelineItem.GroupedEvents(
|
return TimelineItem.GroupedEvents(
|
||||||
id = id.toString(),
|
id = id.toString(),
|
||||||
events = listOf(
|
events = listOf(
|
||||||
event,
|
event1,
|
||||||
event,
|
event2,
|
||||||
).toImmutableList()
|
).toImmutableList()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,9 +26,13 @@ import androidx.compose.ui.res.pluralStringResource
|
||||||
import io.element.android.features.messages.impl.R
|
import io.element.android.features.messages.impl.R
|
||||||
import io.element.android.features.messages.impl.timeline.TimelineEvents
|
import io.element.android.features.messages.impl.timeline.TimelineEvents
|
||||||
import io.element.android.features.messages.impl.timeline.TimelineItemRow
|
import io.element.android.features.messages.impl.timeline.TimelineItemRow
|
||||||
|
import io.element.android.features.messages.impl.timeline.aGroupedEvents
|
||||||
import io.element.android.features.messages.impl.timeline.components.group.GroupHeaderView
|
import io.element.android.features.messages.impl.timeline.components.group.GroupHeaderView
|
||||||
import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
||||||
import io.element.android.features.messages.impl.timeline.session.SessionState
|
import io.element.android.features.messages.impl.timeline.session.SessionState
|
||||||
|
import io.element.android.features.messages.impl.timeline.session.aSessionState
|
||||||
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
import io.element.android.libraries.matrix.api.core.EventId
|
import io.element.android.libraries.matrix.api.core.EventId
|
||||||
import io.element.android.libraries.matrix.api.core.UserId
|
import io.element.android.libraries.matrix.api.core.UserId
|
||||||
|
|
||||||
|
|
@ -138,3 +142,51 @@ private fun TimelineItemGroupedEventsRowContent(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewsDayNight
|
||||||
|
@Composable
|
||||||
|
fun TimelineItemGroupedEventsRowContentExpandedPreview() = ElementPreview {
|
||||||
|
TimelineItemGroupedEventsRowContent(
|
||||||
|
isExpanded = true,
|
||||||
|
onExpandGroupClick = {},
|
||||||
|
timelineItem = aGroupedEvents(),
|
||||||
|
highlightedItem = null,
|
||||||
|
showReadReceipts = true,
|
||||||
|
isLastOutgoingMessage = false,
|
||||||
|
sessionState = aSessionState(),
|
||||||
|
onClick = {},
|
||||||
|
onLongClick = {},
|
||||||
|
inReplyToClick = {},
|
||||||
|
onUserDataClick = {},
|
||||||
|
onTimestampClicked = {},
|
||||||
|
onReactionClick = { _, _ -> },
|
||||||
|
onReactionLongClick = { _, _ -> },
|
||||||
|
onMoreReactionsClick = {},
|
||||||
|
onReadReceiptClick = {},
|
||||||
|
eventSink = {},
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
@PreviewsDayNight
|
||||||
|
@Composable
|
||||||
|
fun TimelineItemGroupedEventsRowContentCollapsePreview() = ElementPreview {
|
||||||
|
TimelineItemGroupedEventsRowContent(
|
||||||
|
isExpanded = false,
|
||||||
|
onExpandGroupClick = {},
|
||||||
|
timelineItem = aGroupedEvents(),
|
||||||
|
highlightedItem = null,
|
||||||
|
showReadReceipts = true,
|
||||||
|
isLastOutgoingMessage = false,
|
||||||
|
sessionState = aSessionState(),
|
||||||
|
onClick = {},
|
||||||
|
onLongClick = {},
|
||||||
|
inReplyToClick = {},
|
||||||
|
onUserDataClick = {},
|
||||||
|
onTimestampClicked = {},
|
||||||
|
onReactionClick = { _, _ -> },
|
||||||
|
onReactionLongClick = { _, _ -> },
|
||||||
|
onMoreReactionsClick = {},
|
||||||
|
onReadReceiptClick = {},
|
||||||
|
eventSink = {},
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,8 @@ fun aTimelineItemTextContent() = TimelineItemTextContent(
|
||||||
|
|
||||||
fun aTimelineItemUnknownContent() = TimelineItemUnknownContent
|
fun aTimelineItemUnknownContent() = TimelineItemUnknownContent
|
||||||
|
|
||||||
fun aTimelineItemStateEventContent() = TimelineItemStateEventContent(
|
fun aTimelineItemStateEventContent(
|
||||||
body = "A state event",
|
body: String = "A state event",
|
||||||
|
) = TimelineItemStateEventContent(
|
||||||
|
body = body,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue