diff options
author | TheArcaneBrony <myrainbowdash949@gmail.com> | 2023-06-30 03:36:58 +0200 |
---|---|---|
committer | TheArcaneBrony <myrainbowdash949@gmail.com> | 2023-06-30 03:36:58 +0200 |
commit | bb8c2637af3b7982e7a4b2fd15e2fbec613d0848 (patch) | |
tree | b8075ba7e507aad3f96f354712ad920ac421e474 /MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerSpace.razor | |
parent | Update stuff (diff) | |
download | MatrixUtils-bb8c2637af3b7982e7a4b2fd15e2fbec613d0848.tar.xz |
Todays progress
Diffstat (limited to 'MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerSpace.razor')
-rw-r--r-- | MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerSpace.razor | 71 |
1 files changed, 46 insertions, 25 deletions
diff --git a/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerSpace.razor b/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerSpace.razor index a9c71c4..afa39b9 100644 --- a/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerSpace.razor +++ b/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerSpace.razor @@ -14,7 +14,7 @@ <summary style="background: #fff1;">State list</summary> @foreach (var stateEvent in States.OrderBy(x => x.StateKey).ThenBy(x => x.Type)) { <p>@stateEvent.StateKey/@stateEvent.Type:</p> - <pre>@stateEvent.Content.ToJson()</pre> + <pre>@stateEvent.RawContent.ToJson()</pre> } </details> @@ -23,36 +23,57 @@ [Parameter] public string RoomId { get; set; } = "invalid!!!!!!"; - private Room? Room { get; set; } + private GenericRoom? Room { get; set; } - private StateEventResponse<object>[] States { get; set; } = Array.Empty<StateEventResponse<object>>(); - private List<Room> Rooms { get; } = new(); + private StateEventResponse[] States { get; set; } = Array.Empty<StateEventResponse>(); + private List<GenericRoom> Rooms { get; } = new(); private List<string> ServersInSpace { get; } = new(); protected override async Task OnInitializedAsync() { - await LocalStorageWrapper.LoadFromLocalStorage(LocalStorage); - Room = await RuntimeCache.CurrentHomeServer.GetRoom(RoomId.Replace('~', '.')); - var state = await Room.GetStateAsync(""); - if (state != null) { - // Console.WriteLine(state.Value.ToJson()); - States = state.Value.Deserialize<StateEventResponse<object>[]>()!; + var hs = await MRUStorage.GetCurrentSessionOrNavigate(); + if (hs is null) return; - foreach (var stateEvent in States) { - if (stateEvent.Type == "m.space.child") { - // if (stateEvent.Content.ToJson().Length < 5) return; - var roomId = stateEvent.StateKey; - var room = await RuntimeCache.CurrentHomeServer.GetRoom(roomId); - if (room != null) { - Rooms.Add(room); - } + Room = await hs.GetRoom(RoomId.Replace('~', '.')); + + var state = Room.GetFullStateAsync(); + await foreach (var stateEvent in state) { + if (stateEvent.Type == "m.space.child") { + var roomId = stateEvent.StateKey; + var room = await hs.GetRoom(roomId); + if (room is not null) { + Rooms.Add(room); } - else if (stateEvent.Type == "m.room.member") { - var serverName = stateEvent.StateKey.Split(':').Last(); - if (!ServersInSpace.Contains(serverName)) { - ServersInSpace.Add(serverName); - } + } + else if (stateEvent.Type == "m.room.member") { + var serverName = stateEvent.StateKey.Split(':').Last(); + if (!ServersInSpace.Contains(serverName)) { + ServersInSpace.Add(serverName); } } + } + await base.OnInitializedAsync(); + + // var state = await Room.GetStateAsync(""); + // if (state is not null) { + // // Console.WriteLine(state.Value.ToJson()); + // States = state.Value.Deserialize<StateEventResponse[]>()!; + // + // foreach (var stateEvent in States) { + // if (stateEvent.Type == "m.space.child") { + // // if (stateEvent.Content.ToJson().Length < 5) return; + // var roomId = stateEvent.StateKey; + // var room = await hs.GetRoom(roomId); + // if (room is not null) { + // Rooms.Add(room); + // } + // } + // else if (stateEvent.Type == "m.room.member") { + // var serverName = stateEvent.StateKey.Split(':').Last(); + // if (!ServersInSpace.Contains(serverName)) { + // ServersInSpace.Add(serverName); + // } + // } + // } // if(state.Value.TryGetProperty("Type", out var Type)) // { @@ -62,8 +83,8 @@ // //this is fine, apprently... // //Console.WriteLine($"Room {room.RoomId} has no Content.Type in m.room.create!"); // } - } - await base.OnInitializedAsync(); + + // await base.OnInitializedAsync(); } private async Task JoinAllRooms() { |