diff options
author | Rory& <root@rory.gay> | 2024-01-24 02:31:56 +0100 |
---|---|---|
committer | Rory& <root@rory.gay> | 2024-01-24 17:05:25 +0100 |
commit | 03313562d21d5db9bf6a14ebbeab80e06c883d3a (patch) | |
tree | e000546a2ee8e6a886a7ed9fd01ad674178fb7cb /MatrixUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor | |
parent | Make RMU installable (diff) | |
download | MatrixUtils-03313562d21d5db9bf6a14ebbeab80e06c883d3a.tar.xz |
MRU->RMU, fixes, cleanup
Diffstat (limited to 'MatrixUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor')
-rw-r--r-- | MatrixUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/MatrixUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor b/MatrixUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor new file mode 100644 index 0000000..81956b0 --- /dev/null +++ b/MatrixUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor @@ -0,0 +1,34 @@ +@using ArcaneLibs.Extensions +@using LibMatrix.EventTypes.Spec +@inherits BaseTimelineItem + +<span> + @if (!HasPreviousMessage) { + <span><InlineUserItem User="@CurrentSenderProfile" Homeserver="@Homeserver" UserId="@Event.StateKey"></InlineUserItem>:</span><br/> + } + @switch (currentEventContent.MessageType) { + case "m.text": { + @foreach (var line in currentEventContent.Body.Split('\n')) { + <span>@line</span><br/> + } + break; + } + case "m.image": { + <i>@currentEventContent.Body</i><br/> + <img src="@Homeserver.ResolveMediaUri(currentEventContent.Url)"> + break; + } + default: { + <pre> + @Event.RawContent?.ToJson(indent: false) + </pre> + break; + } + } +</span> + +@code { + private RoomMessageEventContent? previousEventContent => PreviousState?.TypedContent as RoomMessageEventContent; + + private RoomMessageEventContent? currentEventContent => Event.TypedContent as RoomMessageEventContent; +} \ No newline at end of file |