Create TimelineItemGroupedEventsRowContent to be able to preview the expanded state.
This commit is contained in:
parent
28be3af758
commit
4b44b99350
1 changed files with 47 additions and 4 deletions
|
|
@ -57,6 +57,49 @@ fun TimelineItemGroupedEventsRow(
|
||||||
isExpanded.value = !isExpanded.value
|
isExpanded.value = !isExpanded.value
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TimelineItemGroupedEventsRowContent(
|
||||||
|
isExpanded = isExpanded.value,
|
||||||
|
onExpandGroupClick = ::onExpandGroupClick,
|
||||||
|
timelineItem = timelineItem,
|
||||||
|
highlightedItem = highlightedItem,
|
||||||
|
showReadReceipts = showReadReceipts,
|
||||||
|
isLastOutgoingMessage = isLastOutgoingMessage,
|
||||||
|
sessionState = sessionState,
|
||||||
|
onClick = onClick,
|
||||||
|
onLongClick = onLongClick,
|
||||||
|
inReplyToClick = inReplyToClick,
|
||||||
|
onUserDataClick = onUserDataClick,
|
||||||
|
onTimestampClicked = onTimestampClicked,
|
||||||
|
onReactionClick = onReactionClick,
|
||||||
|
onReactionLongClick = onReactionLongClick,
|
||||||
|
onMoreReactionsClick = onMoreReactionsClick,
|
||||||
|
onReadReceiptClick = onReadReceiptClick,
|
||||||
|
eventSink = eventSink,
|
||||||
|
modifier = modifier,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
private fun TimelineItemGroupedEventsRowContent(
|
||||||
|
isExpanded: Boolean,
|
||||||
|
onExpandGroupClick: () -> Unit,
|
||||||
|
timelineItem: TimelineItem.GroupedEvents,
|
||||||
|
highlightedItem: String?,
|
||||||
|
showReadReceipts: Boolean,
|
||||||
|
isLastOutgoingMessage: Boolean,
|
||||||
|
sessionState: SessionState,
|
||||||
|
onClick: (TimelineItem.Event) -> Unit,
|
||||||
|
onLongClick: (TimelineItem.Event) -> Unit,
|
||||||
|
inReplyToClick: (EventId) -> Unit,
|
||||||
|
onUserDataClick: (UserId) -> Unit,
|
||||||
|
onTimestampClicked: (TimelineItem.Event) -> Unit,
|
||||||
|
onReactionClick: (key: String, TimelineItem.Event) -> Unit,
|
||||||
|
onReactionLongClick: (key: String, TimelineItem.Event) -> Unit,
|
||||||
|
onMoreReactionsClick: (TimelineItem.Event) -> Unit,
|
||||||
|
onReadReceiptClick: (TimelineItem.Event) -> Unit,
|
||||||
|
eventSink: (TimelineEvents) -> Unit,
|
||||||
|
modifier: Modifier = Modifier,
|
||||||
|
) {
|
||||||
Column(modifier = modifier.animateContentSize()) {
|
Column(modifier = modifier.animateContentSize()) {
|
||||||
GroupHeaderView(
|
GroupHeaderView(
|
||||||
text = pluralStringResource(
|
text = pluralStringResource(
|
||||||
|
|
@ -64,11 +107,11 @@ fun TimelineItemGroupedEventsRow(
|
||||||
count = timelineItem.events.size,
|
count = timelineItem.events.size,
|
||||||
timelineItem.events.size
|
timelineItem.events.size
|
||||||
),
|
),
|
||||||
isExpanded = isExpanded.value,
|
isExpanded = isExpanded,
|
||||||
isHighlighted = !isExpanded.value && timelineItem.events.any { it.identifier() == highlightedItem },
|
isHighlighted = !isExpanded && timelineItem.events.any { it.identifier() == highlightedItem },
|
||||||
onClick = ::onExpandGroupClick,
|
onClick = onExpandGroupClick,
|
||||||
)
|
)
|
||||||
if (isExpanded.value) {
|
if (isExpanded) {
|
||||||
Column {
|
Column {
|
||||||
timelineItem.events.forEach { subGroupEvent ->
|
timelineItem.events.forEach { subGroupEvent ->
|
||||||
TimelineItemRow(
|
TimelineItemRow(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue