Animate collapse/expand change

This commit is contained in:
Benoit Marty 2023-05-22 17:21:16 +02:00 committed by Benoit Marty
parent bab276f7e3
commit bf3d7207de

View file

@ -16,6 +16,7 @@
package io.element.android.features.messages.impl.timeline package io.element.android.features.messages.impl.timeline
import androidx.compose.animation.animateContentSize
import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
@ -173,6 +174,17 @@ fun TimelineItemRow(
onExpandGroupClick(timelineItem) onExpandGroupClick(timelineItem)
} }
Column(modifier = Modifier.animateContentSize()) {
GroupHeaderView(
text = pluralStringResource(
id = R.plurals.room_timeline_state_changes,
count = timelineItem.events.size,
timelineItem.events.size
),
isExpanded = timelineItem.expanded,
isHighlighted = !timelineItem.expanded && timelineItem.events.any { it.identifier() == highlightedItem },
onClick = ::onExpandGroupClick,
)
if (timelineItem.expanded) { if (timelineItem.expanded) {
Column { Column {
timelineItem.events.forEach { subGroupEvent -> timelineItem.events.forEach { subGroupEvent ->
@ -186,16 +198,7 @@ fun TimelineItemRow(
} }
} }
} }
GroupHeaderView( }
text = pluralStringResource(
id = R.plurals.room_timeline_state_changes,
count = timelineItem.events.size,
timelineItem.events.size
),
isExpanded = timelineItem.expanded,
isHighlighted = !timelineItem.expanded && timelineItem.events.any { it.identifier() == highlightedItem },
onClick = ::onExpandGroupClick,
)
} }
} }
} }