about summary refs log tree commit diff
path: root/MatrixRoomUtils.Web/Pages/Rooms/Space.razor
diff options
context:
space:
mode:
authorEmma@Rory& <root@rory.gay>2023-08-14 19:46:33 +0200
committerEmma@Rory& <root@rory.gay>2023-08-14 19:46:33 +0200
commit83029c478f411bcadd3be53ac4dc53d88b3c8462 (patch)
tree279d62e53e55e862e4851f1447de12e47e3fce62 /MatrixRoomUtils.Web/Pages/Rooms/Space.razor
parentAdd MxApiExtensions submodule (diff)
downloadMatrixUtils-83029c478f411bcadd3be53ac4dc53d88b3c8462.tar.xz
Code cleanup
Diffstat (limited to 'MatrixRoomUtils.Web/Pages/Rooms/Space.razor')
-rw-r--r--MatrixRoomUtils.Web/Pages/Rooms/Space.razor32
1 files changed, 18 insertions, 14 deletions
diff --git a/MatrixRoomUtils.Web/Pages/Rooms/Space.razor b/MatrixRoomUtils.Web/Pages/Rooms/Space.razor
index 15c7c70..c37b8ab 100644
--- a/MatrixRoomUtils.Web/Pages/Rooms/Space.razor
+++ b/MatrixRoomUtils.Web/Pages/Rooms/Space.razor
@@ -39,17 +39,21 @@
 
         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);
+            switch (stateEvent.Type) {
+                case "m.space.child": {
+                    var roomId = stateEvent.StateKey;
+                    var room = await hs.GetRoom(roomId);
+                    if (room is not null) {
+                        Rooms.Add(room);
+                    }
+                    break;
                 }
-            }
-            else if (stateEvent.Type == "m.room.member") {
-                var serverName = stateEvent.StateKey.Split(':').Last();
-                if (!ServersInSpace.Contains(serverName)) {
-                    ServersInSpace.Add(serverName);
+                case "m.room.member": {
+                    var serverName = stateEvent.StateKey.Split(':').Last();
+                    if (!ServersInSpace.Contains(serverName)) {
+                        ServersInSpace.Add(serverName);
+                    }
+                    break;
                 }
             }
         }
@@ -89,10 +93,10 @@
     // await base.OnInitializedAsync();
     }
 
-    private async Task JoinAllRooms() {
-        foreach (var room in Rooms) {
-            room.JoinAsync(ServersInSpace.ToArray());
-        }
+    private Task JoinAllRooms() {
+        List<Task> tasks = Rooms.Select(room => room.JoinAsync(ServersInSpace.ToArray())).ToList();
+        Task.WaitAll(tasks.ToArray());
+        return Task.CompletedTask;
     }
 
 }