about summary refs log tree commit diff
path: root/MatrixRoomUtils.Web/Pages
diff options
context:
space:
mode:
authorTheArcaneBrony <myrainbowdash949@gmail.com>2023-05-04 15:26:17 +0200
committerTheArcaneBrony <myrainbowdash949@gmail.com>2023-05-04 15:26:17 +0200
commitdc3201d641a03e051c6f0db07612eb6b0bb506c3 (patch)
treef4a57bcfbdf0be6a373df342d26b76bdbf43e2e9 /MatrixRoomUtils.Web/Pages
parentFix bugs in policy editor and state viewer (diff)
downloadMatrixUtils-dc3201d641a03e051c6f0db07612eb6b0bb506c3.tar.xz
Dark theme, fancier room list
Diffstat (limited to 'MatrixRoomUtils.Web/Pages')
-rw-r--r--MatrixRoomUtils.Web/Pages/DataExportPage.razor2
-rw-r--r--MatrixRoomUtils.Web/Pages/Index.razor1
-rw-r--r--MatrixRoomUtils.Web/Pages/LoginPage.razor1
-rw-r--r--MatrixRoomUtils.Web/Pages/PolicyList/PolicyListEditorPage.razor (renamed from MatrixRoomUtils.Web/Pages/PolicyListEditorPage.razor)5
-rw-r--r--MatrixRoomUtils.Web/Pages/PolicyList/PolicyListRoomList.razor (renamed from MatrixRoomUtils.Web/Pages/PolicyListRoomList.razor)7
-rw-r--r--MatrixRoomUtils.Web/Pages/RoomState/RoomStateEditorPage.razor (renamed from MatrixRoomUtils.Web/Pages/RoomStateEditorPage.razor)5
-rw-r--r--MatrixRoomUtils.Web/Pages/RoomState/RoomStateRoomList.razor36
-rw-r--r--MatrixRoomUtils.Web/Pages/RoomState/RoomStateViewerPage.razor (renamed from MatrixRoomUtils.Web/Pages/RoomStateViewerPage.razor)5
-rw-r--r--MatrixRoomUtils.Web/Pages/RoomStateRoomList.razor96
-rw-r--r--MatrixRoomUtils.Web/Pages/UserImportPage.razor1
10 files changed, 44 insertions, 115 deletions
diff --git a/MatrixRoomUtils.Web/Pages/DataExportPage.razor b/MatrixRoomUtils.Web/Pages/DataExportPage.razor
index 58d49fc..62d093b 100644
--- a/MatrixRoomUtils.Web/Pages/DataExportPage.razor
+++ b/MatrixRoomUtils.Web/Pages/DataExportPage.razor
@@ -1,8 +1,6 @@
 @page "/export"
 @using MatrixRoomUtils.Web.Shared.IndexComponents
 @using System.Text.Json
-@using MatrixRoomUtils.Core
-@using MatrixRoomUtils.Core.Authentication
 @inject NavigationManager NavigationManager
 @inject ILocalStorageService LocalStorage
 
diff --git a/MatrixRoomUtils.Web/Pages/Index.razor b/MatrixRoomUtils.Web/Pages/Index.razor
index 67cefed..5fb7e94 100644
--- a/MatrixRoomUtils.Web/Pages/Index.razor
+++ b/MatrixRoomUtils.Web/Pages/Index.razor
@@ -1,6 +1,5 @@
 @page "/"
 @using MatrixRoomUtils.Web.Shared.IndexComponents
-@using MatrixRoomUtils.Core
 @inject NavigationManager NavigationManager
 @inject ILocalStorageService LocalStorage
 
diff --git a/MatrixRoomUtils.Web/Pages/LoginPage.razor b/MatrixRoomUtils.Web/Pages/LoginPage.razor
index f318646..c986d40 100644
--- a/MatrixRoomUtils.Web/Pages/LoginPage.razor
+++ b/MatrixRoomUtils.Web/Pages/LoginPage.razor
@@ -1,5 +1,4 @@
 @page "/Login"
-@using MatrixRoomUtils.Core
 @using MatrixRoomUtils.Core.Authentication
 @inject ILocalStorageService LocalStorage
 <h3>Login</h3>
diff --git a/MatrixRoomUtils.Web/Pages/PolicyListEditorPage.razor b/MatrixRoomUtils.Web/Pages/PolicyList/PolicyListEditorPage.razor
index 66a5c9f..5dfb2d6 100644
--- a/MatrixRoomUtils.Web/Pages/PolicyListEditorPage.razor
+++ b/MatrixRoomUtils.Web/Pages/PolicyList/PolicyListEditorPage.razor
@@ -1,12 +1,11 @@
 @page "/PolicyListEditor/{RoomId}"
-@using System.Net.Http.Headers
 @using System.Text.Json
-@using MatrixRoomUtils.Core
 @using MatrixRoomUtils.Core.Extensions
 @using MatrixRoomUtils.Core.StateEventTypes
 @inject ILocalStorageService LocalStorage
 @inject NavigationManager NavigationManager
-<h3>Policy list editor</h3>
+<h3>Policy list editor - Editing @RoomId</h3>
+<hr/>
 
 <p>
     This policy list contains @PolicyEvents.Count(x => x.type == "m.policy.rule.server") server bans,
diff --git a/MatrixRoomUtils.Web/Pages/PolicyListRoomList.razor b/MatrixRoomUtils.Web/Pages/PolicyList/PolicyListRoomList.razor
index 3af60b7..5656af9 100644
--- a/MatrixRoomUtils.Web/Pages/PolicyListRoomList.razor
+++ b/MatrixRoomUtils.Web/Pages/PolicyList/PolicyListRoomList.razor
@@ -1,14 +1,11 @@
 @page "/PolicyListEditor"
-@using System.Net.Http.Headers
 @using System.Text.Json
-@using MatrixRoomUtils.Core
 @using MatrixRoomUtils.Core.Extensions
 @inject ILocalStorageService LocalStorage
 @inject NavigationManager NavigationManager
-<h3>Policy list editor</h3>
-
-<h5>Room list</h5>
+<h3>Policy list editor - Room list</h3>
 <hr/>
+
 @if (PolicyRoomList.Count == 0)
 {
     <p>No policy rooms found.</p>
diff --git a/MatrixRoomUtils.Web/Pages/RoomStateEditorPage.razor b/MatrixRoomUtils.Web/Pages/RoomState/RoomStateEditorPage.razor
index 47f2aba..638d728 100644
--- a/MatrixRoomUtils.Web/Pages/RoomStateEditorPage.razor
+++ b/MatrixRoomUtils.Web/Pages/RoomState/RoomStateEditorPage.razor
@@ -1,11 +1,10 @@
 @page "/RoomStateViewer/{RoomId}/Edit"
 @using System.Net.Http.Headers
 @using System.Text.Json
-@using MatrixRoomUtils.Core
 @inject ILocalStorageService LocalStorage
 @inject NavigationManager NavigationManager
-<h3>Room state editor</h3>
-<p>Room ID: @RoomId</p>
+<h3>Room state editor - Editing @RoomId</h3>
+<hr/>
 
 <p>@status</p>
 
diff --git a/MatrixRoomUtils.Web/Pages/RoomState/RoomStateRoomList.razor b/MatrixRoomUtils.Web/Pages/RoomState/RoomStateRoomList.razor
new file mode 100644
index 0000000..ba1b0ec
--- /dev/null
+++ b/MatrixRoomUtils.Web/Pages/RoomState/RoomStateRoomList.razor
@@ -0,0 +1,36 @@
+@page "/RoomStateViewer"
+@inject ILocalStorageService LocalStorage
+@inject NavigationManager NavigationManager
+<h3>Room state viewer - Room list</h3>
+<hr/>
+@if (Rooms.Count == 0)
+{
+    <p>You are not in any rooms!</p>
+    @* <p>Loading progress: @checkedRoomCount/@totalRoomCount</p> *@
+}
+else
+{
+    @foreach (var room in Rooms)
+    {
+        <a style="color: unset; text-decoration: unset;" href="/RoomStateViewer/@room.Replace('.','~')"><RoomListItem RoomId="@room"></RoomListItem></a>
+    }
+    <div style="margin-bottom: 4em;"></div>
+}
+
+<LogView></LogView>
+
+@code {
+    public List<string> Rooms { get; set; } = new();
+    protected override async Task OnInitializedAsync()
+    {
+        if (!RuntimeCache.WasLoaded) await LocalStorageWrapper.LoadFromLocalStorage(LocalStorage);
+        await base.OnInitializedAsync();
+        if (RuntimeCache.CurrentHomeServer == null)
+        {
+            NavigationManager.NavigateTo("/Login");
+            return;
+        }
+        Rooms = (await RuntimeCache.CurrentHomeServer.GetJoinedRooms()).Select(x=>x.RoomId).ToList();
+        Console.WriteLine("Fetched joined rooms!");
+    }
+} 
\ No newline at end of file
diff --git a/MatrixRoomUtils.Web/Pages/RoomStateViewerPage.razor b/MatrixRoomUtils.Web/Pages/RoomState/RoomStateViewerPage.razor
index 199c75b..0f40cb9 100644
--- a/MatrixRoomUtils.Web/Pages/RoomStateViewerPage.razor
+++ b/MatrixRoomUtils.Web/Pages/RoomState/RoomStateViewerPage.razor
@@ -1,12 +1,11 @@
 @page "/RoomStateViewer/{RoomId}"
 @using System.Net.Http.Headers
 @using System.Text.Json
-@using MatrixRoomUtils.Core
 @using MatrixRoomUtils.Core.Extensions
 @inject ILocalStorageService LocalStorage
 @inject NavigationManager NavigationManager
-<h3>Room state viewer</h3>
-<p>Room ID: @RoomId</p>
+<h3>Room state viewer - Viewing @RoomId</h3>
+<hr/>
 
 <p>@status</p>
 
diff --git a/MatrixRoomUtils.Web/Pages/RoomStateRoomList.razor b/MatrixRoomUtils.Web/Pages/RoomStateRoomList.razor
deleted file mode 100644
index 92e7955..0000000
--- a/MatrixRoomUtils.Web/Pages/RoomStateRoomList.razor
+++ /dev/null
@@ -1,96 +0,0 @@
-@page "/RoomStateViewer"
-@using System.Net.Http.Headers
-@using System.Text.Json
-@using MatrixRoomUtils.Core
-@inject ILocalStorageService LocalStorage
-@inject NavigationManager NavigationManager
-<h3>Room state viewer</h3>
-
-<h5>Room list</h5>
-<hr/>
-@if (PolicyRoomList.Count == 0)
-{
-    <p>No policy rooms found.</p>
-    <p>Loading progress: @checkedRoomCount/@totalRoomCount</p>
-}
-else
-{
-    @if (checkedRoomCount != totalRoomCount)
-    {
-        <p>Loading progress: @checkedRoomCount/@totalRoomCount</p>
-    }
-    foreach (var s in PolicyRoomList)
-    {
-        <a href="@(NavigationManager.Uri + "/" + s.RoomId.Replace('.', '~'))">@s.Name (@s.RoomId)</a>
-        <br/>
-    }
-    <div style="margin-bottom: 4em;"></div>
-}
-
-<LogView></LogView>
-
-@code {
-
-    public List<PolicyRoomInfo> PolicyRoomList { get; set; } = new();
-
-    private int checkedRoomCount { get; set; } = 0;
-    private int totalRoomCount { get; set; } = 0;
-
-    protected override async Task OnInitializedAsync()
-    {
-        if (!RuntimeCache.WasLoaded) await LocalStorageWrapper.LoadFromLocalStorage(LocalStorage);
-        await base.OnInitializedAsync();
-        if (RuntimeCache.CurrentHomeServer == null)
-        {
-            NavigationManager.NavigateTo("/Login");
-            return;
-        }
-        await EnumeratePolicyRooms();
-        Console.WriteLine("Policy list editor initialized!");
-    }
-
-    private async Task EnumeratePolicyRooms()
-    {
-        var rooms = (await RuntimeCache.CurrentHomeServer.GetJoinedRooms()).Select(x=>x.RoomId).ToList();
-
-        totalRoomCount = rooms.Count;
-        StateHasChanged();
-
-        var semaphore = new SemaphoreSlim(128);
-        var tasks = new List<Task<PolicyRoomInfo?>>();
-        foreach (string room in rooms)
-        {
-            tasks.Add(GetPolicyRoomInfo(room, semaphore));
-        }
-        var results = await Task.WhenAll(tasks);
-        PolicyRoomList.AddRange(results.Where(x => x != null).Select(x=>x.Value));
-        
-        StateHasChanged();
-    }
-
-    private async Task<PolicyRoomInfo?> GetPolicyRoomInfo(string room, SemaphoreSlim semaphore)
-    {
-        try
-        {
-            await semaphore.WaitAsync();
-            return new PolicyRoomInfo()
-            {
-                RoomId = room,
-                Name = await (await RuntimeCache.CurrentHomeServer.GetRoom(room)).GetNameAsync()
-            };
-        }
-        finally
-        {
-            checkedRoomCount++;
-            StateHasChanged();
-            semaphore.Release();
-        }
-    }
-
-
-    public struct PolicyRoomInfo
-    {
-        public string RoomId { get; set; }
-        public string Name { get; set; }
-    }
-} 
\ No newline at end of file
diff --git a/MatrixRoomUtils.Web/Pages/UserImportPage.razor b/MatrixRoomUtils.Web/Pages/UserImportPage.razor
index 97a1c44..6f3045e 100644
--- a/MatrixRoomUtils.Web/Pages/UserImportPage.razor
+++ b/MatrixRoomUtils.Web/Pages/UserImportPage.razor
@@ -1,6 +1,5 @@
 @page "/ImportUsers"
 @using System.Text.Json
-@using MatrixRoomUtils.Core
 @using MatrixRoomUtils.Core.Authentication
 @inject ILocalStorageService LocalStorage
 <h3>Login</h3>