about summary refs log tree commit diff
path: root/MatrixRoomUtils.Web/Shared/TimelineComponents
diff options
context:
space:
mode:
Diffstat (limited to 'MatrixRoomUtils.Web/Shared/TimelineComponents')
-rw-r--r--MatrixRoomUtils.Web/Shared/TimelineComponents/BaseTimelineItem.razor15
-rw-r--r--MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMemberItem.razor56
-rw-r--r--MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor7
-rw-r--r--MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineRoomCreateItem.razor18
-rw-r--r--MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineUnknownItem.razor15
5 files changed, 73 insertions, 38 deletions
diff --git a/MatrixRoomUtils.Web/Shared/TimelineComponents/BaseTimelineItem.razor b/MatrixRoomUtils.Web/Shared/TimelineComponents/BaseTimelineItem.razor
new file mode 100644

index 0000000..920a38d --- /dev/null +++ b/MatrixRoomUtils.Web/Shared/TimelineComponents/BaseTimelineItem.razor
@@ -0,0 +1,15 @@ +@using MatrixRoomUtils.Core.Responses +<h3>BaseTimelineItem</h3> + +@code { + + [Parameter] + public StateEventResponse Event { get; set; } + + [Parameter] + public List<StateEventResponse> Events { get; set; } + + [Parameter] + public AuthenticatedHomeServer HomeServer { get; set; } + +} diff --git a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMemberItem.razor b/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMemberItem.razor
index 519e0b2..44eb06e 100644 --- a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMemberItem.razor +++ b/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMemberItem.razor
@@ -1,39 +1,47 @@ @using MatrixRoomUtils.Core.Responses @using MatrixRoomUtils.Core.StateEventTypes @using MatrixRoomUtils.Core.StateEventTypes.Spec +@inherits BaseTimelineItem -@if (roomMemberData.Membership == "ban") { - <i>@Event.StateKey was banned</i> -} -else if (roomMemberData.Membership == "invite") { - <i>@Event.StateKey was invited</i> -} -else if (roomMemberData.Membership == "join") { - @if (Event.ReplacesState is not null) { - <i>@Event.StateKey changed their display name to @(roomMemberData.Displayname ?? Event.Sender)</i> +@if (roomMemberData is not null) { + @if (roomMemberData.Membership == "ban") { + <i>@Event.StateKey was banned</i> + } + else if (roomMemberData.Membership == "invite") { + <i>@Event.StateKey was invited</i> + } + else if (roomMemberData.Membership == "join") { + @if (Event.ReplacesState is not null) { + <i>@Event.StateKey changed their display name to @(roomMemberData.Displayname ?? Event.Sender)</i> + } + else { + <i><InlineUserItem User="new ProfileResponseEventData()" HomeServer="HomeServer" UserId="@Event.StateKey"></InlineUserItem> joined</i> + } + } + else if (roomMemberData.Membership == "leave") { + <i>@Event.StateKey left</i> + } + else if (roomMemberData.Membership == "knock") { + <i>@Event.StateKey knocked</i> } else { - <i><InlineUserItem UserId="@Event.StateKey"></InlineUserItem> joined</i> + <i>@Event.StateKey has an unknown state:</i> + <pre> + @Event.ToJson() + </pre> } } -else if (roomMemberData.Membership == "leave") { - <i>@Event.StateKey left</i> -} -else if (roomMemberData.Membership == "knock") { - <i>@Event.StateKey knocked</i> -} else { - <i>@Event.StateKey has an unknown state:</i> - <pre> - @Event.ToJson() - </pre> + <details> + <summary>Unknown membership event for @Event.StateKey</summary> + <pre> + @Event.ToJson() + </pre> + </details> } @code { - [Parameter] - public StateEventResponse Event { get; set; } - private RoomMemberEventData? roomMemberData => Event.TypedContent as RoomMemberEventData; -} \ No newline at end of file +} diff --git a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor b/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor
index b1ce146..bf0e083 100644 --- a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor +++ b/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor
@@ -1,11 +1,10 @@ @using MatrixRoomUtils.Core.Responses +@inherits BaseTimelineItem + <pre> @ObjectExtensions.ToJson(Event.RawContent, indent: false) </pre> @code { - [Parameter] - public StateEventResponse Event { get; set; } - -} \ No newline at end of file +} diff --git a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineRoomCreateItem.razor b/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineRoomCreateItem.razor new file mode 100644
index 0000000..de204a3 --- /dev/null +++ b/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineRoomCreateItem.razor
@@ -0,0 +1,18 @@ +@using MatrixRoomUtils.Core.Responses +@using MatrixRoomUtils.Core.StateEventTypes.Spec +@inherits BaseTimelineItem + +<p> + @Event.Sender created the room with room version @CreationEventContent.RoomVersion + @CreationEventContent.Federate ? "and" : "without" federating with other servers.<br/> + This room is of type @(CreationEventContent.Type ?? "Untyped room (usually a chat room)") +</p> +<pre> + @ObjectExtensions.ToJson(Event.RawContent, indent: false) +</pre> + +@code { + + private RoomCreateEventData CreationEventContent => Event.TypedContent as RoomCreateEventData; + +} diff --git a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineUnknownItem.razor b/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineUnknownItem.razor
index d8ea7e2..d0871c3 100644 --- a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineUnknownItem.razor +++ b/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineUnknownItem.razor
@@ -1,20 +1,15 @@ -<div> +@inherits BaseTimelineItem +<div> <details style="display: inline;"> <summary> - <i style="color: red;"> - Unknown event type: <pre style="display: inline;">@Event.Type</pre> - </i> + <i style="color: red;">Unknown event type: <pre style="display: inline;">@Event.Type</pre></i> </summary> - <pre> - @Event.ToJson() - </pre> + <pre>@Event.ToJson()</pre> </details> </div> @code { - [Parameter] - public StateEvent Event { get; set; } -} \ No newline at end of file +}