From dc3201d641a03e051c6f0db07612eb6b0bb506c3 Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Thu, 4 May 2023 15:26:17 +0200 Subject: Dark theme, fancier room list --- MatrixRoomUtils.Web/Shared/RoomListItem.razor | 45 +++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 MatrixRoomUtils.Web/Shared/RoomListItem.razor (limited to 'MatrixRoomUtils.Web/Shared') diff --git a/MatrixRoomUtils.Web/Shared/RoomListItem.razor b/MatrixRoomUtils.Web/Shared/RoomListItem.razor new file mode 100644 index 0000000..31fca4c --- /dev/null +++ b/MatrixRoomUtils.Web/Shared/RoomListItem.razor @@ -0,0 +1,45 @@ +
+ + @roomName +
+ +@code { + [Parameter] + public Room Room { get; set; } + [Parameter] + public string RoomId { get; set; } + + private string roomName { get; set; } = "Loading..."; + private string roomIcon { get; set; } = "/icon-192.png"; + + protected override async Task OnInitializedAsync() + { + await base.OnInitializedAsync(); + if (Room == null) + { + if (RoomId == null) + { + throw new ArgumentNullException(nameof(RoomId)); + } + Room = await RuntimeCache.CurrentHomeServer.GetRoom(RoomId); + } + + roomName = await Room.GetNameAsync(); + if (roomName == null) + { + roomName = "Unnamed room: " + RoomId; + } + + var state = await Room.GetStateAsync("m.room.avatar"); + if (state != null) + { + var url = state.Value.GetProperty("url").GetString(); + if (url != null) + { + roomIcon = await RuntimeCache.CurrentHomeServer.ResolveMediaUri(url); + } + } + + } + +} \ No newline at end of file -- cgit 1.5.1