about summary refs log tree commit diff
path: root/MatrixUtils.Web/Pages/Moderation/DraupnirProtectedRoomsEditor.razor
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2024-02-23 13:57:06 +0100
committerRory& <root@rory.gay>2024-02-23 13:57:06 +0100
commitd0d11db2209a8be65c27e15ca9d8a3b594f1a352 (patch)
treeb42b7de4b09888a1439d0939707ba1331becf626 /MatrixUtils.Web/Pages/Moderation/DraupnirProtectedRoomsEditor.razor
parentHS emulator (diff)
downloadMatrixUtils-d0d11db2209a8be65c27e15ca9d8a3b594f1a352.tar.xz
Add eons of work because I forgot to push
Diffstat (limited to 'MatrixUtils.Web/Pages/Moderation/DraupnirProtectedRoomsEditor.razor')
-rw-r--r--MatrixUtils.Web/Pages/Moderation/DraupnirProtectedRoomsEditor.razor10
1 files changed, 7 insertions, 3 deletions
diff --git a/MatrixUtils.Web/Pages/Moderation/DraupnirProtectedRoomsEditor.razor b/MatrixUtils.Web/Pages/Moderation/DraupnirProtectedRoomsEditor.razor
index 3cb9e40..f9cbfa2 100644
--- a/MatrixUtils.Web/Pages/Moderation/DraupnirProtectedRoomsEditor.razor
+++ b/MatrixUtils.Web/Pages/Moderation/DraupnirProtectedRoomsEditor.razor
@@ -59,7 +59,7 @@
         if (hs is null) return;
         data = await hs.GetAccountDataAsync<DraupnirProtectedRoomsData>("org.matrix.mjolnir.protected_rooms");
         StateHasChanged();
-        foreach (var room in await hs.GetJoinedRooms()) {
+        var tasks = (await hs.GetJoinedRooms()).Select(async room => {
             var plTask = room.GetPowerLevelsAsync();
             var roomNameTask = room.GetNameOrFallbackAsync();
             var EditorRoomInfo = new EditorRoomInfo {
@@ -71,7 +71,11 @@
 
             Rooms.Add(EditorRoomInfo);
             StateHasChanged();
-        }
+            return Task.CompletedTask;
+        }).ToList();
+        await Task.WhenAll(tasks);
+        await Task.Delay(500);
+        StateHasChanged();
     }
 
     private class DraupnirProtectedRoomsData {
@@ -87,7 +91,7 @@
     }
 
     private async Task Apply() {
-        Console.WriteLine(string.Join('\n', Rooms.Where(x=>x.IsProtected).Select(x=>x.Room.RoomId)));
+        Console.WriteLine(string.Join('\n', Rooms.Where(x => x.IsProtected).Select(x => x.Room.RoomId)));
         data.Rooms = Rooms.Where(x => x.IsProtected).Select(x => x.Room.RoomId).ToList();
         await hs.SetAccountDataAsync("org.matrix.mjolnir.protected_rooms", data);
     }