diff options
Diffstat (limited to 'MatrixUtils.Web/Shared/TimelineComponents/TimelineRoomTopicItem.razor')
-rw-r--r-- | MatrixUtils.Web/Shared/TimelineComponents/TimelineRoomTopicItem.razor | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/MatrixUtils.Web/Shared/TimelineComponents/TimelineRoomTopicItem.razor b/MatrixUtils.Web/Shared/TimelineComponents/TimelineRoomTopicItem.razor new file mode 100644 index 0000000..7ef17a8 --- /dev/null +++ b/MatrixUtils.Web/Shared/TimelineComponents/TimelineRoomTopicItem.razor @@ -0,0 +1,37 @@ +@using ArcaneLibs.Extensions +@using LibMatrix.EventTypes.Spec.State +@using LibMatrix.Responses +@inherits BaseTimelineItem + +@if (currentEventContent is not null) { + @if (previousEventContent is null) { + <i><InlineUserItem User="@CurrentSenderProfile" Homeserver="@Homeserver" UserId="@Event.StateKey"></InlineUserItem> set the room topic to</i><br/> + <pre> + @currentEventContent.Topic + </pre> + } + else { + <i><InlineUserItem User="@CurrentSenderProfile" Homeserver="@Homeserver" UserId="@Event.StateKey"></InlineUserItem> changed the room topic from</i><br/> + <pre> + @previousEventContent.Topic + </pre><br/> + <i>to</i><br/> + <pre> + @currentEventContent.Topic + </pre> + } +} +else { + <details> + <summary>Unknown event @Event.Type (@Event.StateKey)</summary> + <pre> + @Event.ToJson() + </pre> + </details> +} + +@code { + private RoomTopicEventContent? previousEventContent => PreviousState?.TypedContent as RoomTopicEventContent; + + private RoomTopicEventContent? currentEventContent => Event.TypedContent as RoomTopicEventContent; +} \ No newline at end of file |