diff options
author | TheArcaneBrony <myrainbowdash949@gmail.com> | 2023-05-04 15:26:17 +0200 |
---|---|---|
committer | TheArcaneBrony <myrainbowdash949@gmail.com> | 2023-05-04 15:26:17 +0200 |
commit | dc3201d641a03e051c6f0db07612eb6b0bb506c3 (patch) | |
tree | f4a57bcfbdf0be6a373df342d26b76bdbf43e2e9 /MatrixRoomUtils.Web/Pages | |
parent | Fix bugs in policy editor and state viewer (diff) | |
download | MatrixUtils-dc3201d641a03e051c6f0db07612eb6b0bb506c3.tar.xz |
Dark theme, fancier room list
Diffstat (limited to 'MatrixRoomUtils.Web/Pages')
-rw-r--r-- | MatrixRoomUtils.Web/Pages/DataExportPage.razor | 2 | ||||
-rw-r--r-- | MatrixRoomUtils.Web/Pages/Index.razor | 1 | ||||
-rw-r--r-- | MatrixRoomUtils.Web/Pages/LoginPage.razor | 1 | ||||
-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.razor | 36 | ||||
-rw-r--r-- | MatrixRoomUtils.Web/Pages/RoomState/RoomStateViewerPage.razor (renamed from MatrixRoomUtils.Web/Pages/RoomStateViewerPage.razor) | 5 | ||||
-rw-r--r-- | MatrixRoomUtils.Web/Pages/RoomStateRoomList.razor | 96 | ||||
-rw-r--r-- | MatrixRoomUtils.Web/Pages/UserImportPage.razor | 1 |
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> |