|
|
|
@ -41,6 +41,9 @@ interface TimelineEventWrapper { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override val canRedact = false |
|
|
|
|
|
|
|
|
|
override val receiptEvent: TimelineEvent |
|
|
|
|
get() = redactionEvent |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
class Replaced(override val event: TimelineEvent, val eventWrapper: TimelineEventWrapper, val replacedBy: TimelineEvent) : TimelineEventWrapper { |
|
|
|
@ -55,6 +58,9 @@ interface TimelineEventWrapper { |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override val receiptEvent: TimelineEvent |
|
|
|
|
get() = replacedBy |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
class Replied(override val event: TimelineEvent, val repliedTo: String) : TimelineEventWrapper { |
|
|
|
@ -96,6 +102,9 @@ interface TimelineEventWrapper { |
|
|
|
|
|
|
|
|
|
val event: TimelineEvent |
|
|
|
|
|
|
|
|
|
val receiptEvent: TimelineEvent |
|
|
|
|
get() = event |
|
|
|
|
|
|
|
|
|
@Composable |
|
|
|
|
fun RenderEvent(modifier: Modifier) { |
|
|
|
|
Column(modifier = modifier.fillMaxWidth()) { |
|
|
|
@ -119,7 +128,7 @@ interface TimelineEventWrapper { |
|
|
|
|
@Composable |
|
|
|
|
fun RenderReadReceipts(modifier: Modifier) { |
|
|
|
|
Row(modifier) { |
|
|
|
|
event.readReceipts.forEach { |
|
|
|
|
receiptEvent.readReceipts.forEach { |
|
|
|
|
Avatar(it.roomMember.avatarUrl, 18, name = it.roomMember.displayName) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|