diff --git a/MatrixRoomUtils.Web/Pages/RoomState/RoomStateEditorPage.razor b/MatrixRoomUtils.Web/Pages/RoomState/RoomStateEditorPage.razor
index 3037dcc..74f4f92 100644
--- a/MatrixRoomUtils.Web/Pages/RoomState/RoomStateEditorPage.razor
+++ b/MatrixRoomUtils.Web/Pages/RoomState/RoomStateEditorPage.razor
@@ -12,8 +12,7 @@
<br/>
<InputSelect @bind-Value="shownStateKey">
<option value="">-- State key --</option>
- @foreach (var stateEvent in FilteredEvents.Where(x => x.StateKey != "").Select(x => x.StateKey).Distinct().OrderBy(x => x))
- {
+ @foreach (var stateEvent in FilteredEvents.Where(x => x.StateKey != "").Select(x => x.StateKey).Distinct().OrderBy(x => x)) {
<option value="@stateEvent">@stateEvent</option>
Console.WriteLine(stateEvent);
}
@@ -21,8 +20,7 @@
<br/>
<InputSelect @bind-Value="shownType">
<option value="">-- Type --</option>
- @foreach (var stateEvent in FilteredEvents.Where(x => x.StateKey != shownStateKey).Select(x => x.Type).Distinct().OrderBy(x => x))
- {
+ @foreach (var stateEvent in FilteredEvents.Where(x => x.StateKey != shownStateKey).Select(x => x.Type).Distinct().OrderBy(x => x)) {
<option value="@stateEvent">@stateEvent</option>
}
</InputSelect>
@@ -45,12 +43,10 @@
public List<StateEventResponse> Events { get; set; } = new();
public string status = "";
- protected override async Task OnInitializedAsync()
- {
+ protected override async Task OnInitializedAsync() {
await LocalStorageWrapper.LoadFromLocalStorage(LocalStorage);
await base.OnInitializedAsync();
- if (RuntimeCache.CurrentHomeServer != null)
- {
+ if (RuntimeCache.CurrentHomeServer != null) {
NavigationManager.NavigateTo("/Login");
return;
}
@@ -61,34 +57,29 @@
private DateTime _lastUpdate = DateTime.Now;
- private async Task LoadStatesAsync()
- {
- int StateLoaded = 0;
+ private async Task LoadStatesAsync() {
+ var StateLoaded = 0;
using var client = new HttpClient();
- //TODO: can this be improved?
+ //TODO: can this be improved?
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", RuntimeCache.CurrentHomeServer.AccessToken);
var response = await client.GetAsync($"{RuntimeCache.CurrentHomeServer.FullHomeServerDomain}/_matrix/client/r0/rooms/{RoomId}/state");
// var response = await client.GetAsync($"http://localhost:5117/matrix-hq-state.json");
//var _events = await response.Content.ReadFromJsonAsync<Queue<StateEventStruct>>();
var _data = await response.Content.ReadAsStreamAsync();
var __events = JsonSerializer.DeserializeAsyncEnumerable<StateEventResponse>(_data);
- await foreach (var _ev in __events)
- {
- var e = new StateEventResponse()
- {
+ await foreach (var _ev in __events) {
+ var e = new StateEventResponse {
Type = _ev.Type,
StateKey = _ev.StateKey,
OriginServerTs = _ev.OriginServerTs,
Content = _ev.Content
};
Events.Add(e);
- if (string.IsNullOrEmpty(e.StateKey))
- {
+ if (string.IsNullOrEmpty(e.StateKey)) {
FilteredEvents.Add(e);
}
StateLoaded++;
- if ((DateTime.Now - _lastUpdate).TotalMilliseconds > 100)
- {
+ if ((DateTime.Now - _lastUpdate).TotalMilliseconds > 100) {
_lastUpdate = DateTime.Now;
status = $"Loaded {StateLoaded} state events";
StateHasChanged();
@@ -99,8 +90,7 @@
StateHasChanged();
}
- private async Task RebuildFilteredData()
- {
+ private async Task RebuildFilteredData() {
status = "Rebuilding filtered data...";
StateHasChanged();
await Task.Delay(1);
@@ -112,16 +102,14 @@
StateHasChanged();
await Task.Delay(1);
FilteredEvents = _FilteredEvents;
-
- if(_shownType != null)
+
+ if (_shownType != null)
shownEventJson = _FilteredEvents.Where(x => x.Type == _shownType).First().Content.ToJson(indent: true, ignoreNull: true);
-
+
StateHasChanged();
}
-
- public struct PreRenderedStateEvent
- {
+ public struct PreRenderedStateEvent {
public string content { get; set; }
public long origin_server_ts { get; set; }
public string state_key { get; set; }
@@ -132,11 +120,9 @@
// public string ReplacesState { get; set; }
}
- public bool ShowMembershipEvents
- {
+ public bool ShowMembershipEvents {
get => _showMembershipEvents;
- set
- {
+ set {
_showMembershipEvents = value;
RebuildFilteredData();
}
@@ -146,21 +132,17 @@
private string _shownStateKey;
private string _shownType;
- private string shownStateKey
- {
+ private string shownStateKey {
get => _shownStateKey;
- set
- {
+ set {
_shownStateKey = value;
RebuildFilteredData();
}
}
- private string shownType
- {
+ private string shownType {
get => _shownType;
- set
- {
+ set {
_shownType = value;
RebuildFilteredData();
}
diff --git a/MatrixRoomUtils.Web/Pages/RoomState/RoomStateRoomList.razor b/MatrixRoomUtils.Web/Pages/RoomState/RoomStateRoomList.razor
index c654b13..82b5d75 100644
--- a/MatrixRoomUtils.Web/Pages/RoomState/RoomStateRoomList.razor
+++ b/MatrixRoomUtils.Web/Pages/RoomState/RoomStateRoomList.razor
@@ -3,16 +3,15 @@
@inject NavigationManager NavigationManager
<h3>Room state viewer - Room list</h3>
<hr/>
-@if (Rooms.Count == 0)
-{
+@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>
+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>
}
@@ -21,16 +20,16 @@ else
@code {
public List<string> Rooms { get; set; } = new();
- protected override async Task OnInitializedAsync()
- {
+
+ protected override async Task OnInitializedAsync() {
await LocalStorageWrapper.LoadFromLocalStorage(LocalStorage);
await base.OnInitializedAsync();
- if (RuntimeCache.CurrentHomeServer == null)
- {
+ if (RuntimeCache.CurrentHomeServer == null) {
NavigationManager.NavigateTo("/Login");
return;
}
- Rooms = (await RuntimeCache.CurrentHomeServer.GetJoinedRooms()).Select(x=>x.RoomId).ToList();
+ Rooms = (await RuntimeCache.CurrentHomeServer.GetJoinedRooms()).Select(x => x.RoomId).ToList();
Console.WriteLine("Fetched joined rooms!");
}
-}
\ No newline at end of file
+
+}
\ No newline at end of file
diff --git a/MatrixRoomUtils.Web/Pages/RoomState/RoomStateViewerPage.razor b/MatrixRoomUtils.Web/Pages/RoomState/RoomStateViewerPage.razor
index c7f9f3c..bfd4d10 100644
--- a/MatrixRoomUtils.Web/Pages/RoomState/RoomStateViewerPage.razor
+++ b/MatrixRoomUtils.Web/Pages/RoomState/RoomStateViewerPage.razor
@@ -1,7 +1,7 @@
@page "/RoomStateViewer/{RoomId}"
+@using MatrixRoomUtils.Core.Extensions
@using System.Net.Http.Headers
@using System.Text.Json
-@using MatrixRoomUtils.Core.Extensions
@inject ILocalStorageService LocalStorage
@inject NavigationManager NavigationManager
<h3>Room state viewer - Viewing @RoomId</h3>
@@ -19,8 +19,7 @@
</tr>
</thead>
<tbody>
- @foreach (var stateEvent in FilteredEvents.Where(x => x.state_key == "").OrderBy(x => x.origin_server_ts))
- {
+ @foreach (var stateEvent in FilteredEvents.Where(x => x.state_key == "").OrderBy(x => x.origin_server_ts)) {
<tr>
<td>@stateEvent.type</td>
<td style="max-width: fit-Content;">
@@ -31,8 +30,7 @@
</tbody>
</table>
-@foreach (var group in FilteredEvents.GroupBy(x => x.state_key).OrderBy(x => x.Key).Where(x => x.Key != ""))
-{
+@foreach (var group in FilteredEvents.GroupBy(x => x.state_key).OrderBy(x => x.Key).Where(x => x.Key != "")) {
<details>
<summary>@group.Key</summary>
<table class="table table-striped table-hover" style="width: fit-Content;">
@@ -43,8 +41,7 @@
</tr>
</thead>
<tbody>
- @foreach (var stateEvent in group.OrderBy(x => x.origin_server_ts))
- {
+ @foreach (var stateEvent in group.OrderBy(x => x.origin_server_ts)) {
<tr>
<td>@stateEvent.type</td>
<td style="max-width: fit-Content;">
@@ -72,12 +69,10 @@
public List<PreRenderedStateEvent> Events { get; set; } = new();
public string status = "";
- protected override async Task OnInitializedAsync()
- {
+ protected override async Task OnInitializedAsync() {
await LocalStorageWrapper.LoadFromLocalStorage(LocalStorage);
await base.OnInitializedAsync();
- if (RuntimeCache.CurrentHomeServer == null)
- {
+ if (RuntimeCache.CurrentHomeServer == null) {
NavigationManager.NavigateTo("/Login");
return;
}
@@ -85,56 +80,50 @@
await LoadStatesAsync();
Console.WriteLine("Policy list editor initialized!");
}
+
private DateTime _lastUpdate = DateTime.Now;
- private async Task LoadStatesAsync()
- {
- int StateLoaded = 0;
- //TODO: can we improve this?
+ private async Task LoadStatesAsync() {
+ var StateLoaded = 0;
+ //TODO: can we improve this?
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", RuntimeCache.CurrentHomeServer.AccessToken);
- var response = await client.GetAsync($"{RuntimeCache.CurrentHomeServer.FullHomeServerDomain}/_matrix/client/r0/rooms/{RoomId}/state");
- // var response = await client.GetAsync($"http://localhost:5117/matrix-hq-state.json");
+ var response = await client.GetAsync($"{RuntimeCache.CurrentHomeServer.FullHomeServerDomain}/_matrix/client/r0/rooms/{RoomId}/state");
+ // var response = await client.GetAsync($"http://localhost:5117/matrix-hq-state.json");
//var _events = await response.Content.ReadFromJsonAsync<Queue<StateEventStruct>>();
var _data = await response.Content.ReadAsStreamAsync();
var __events = JsonSerializer.DeserializeAsyncEnumerable<StateEventStruct>(_data);
- await foreach (var _ev in __events)
- {
- var e = new PreRenderedStateEvent()
- {
+ await foreach (var _ev in __events) {
+ var e = new PreRenderedStateEvent {
type = _ev.type,
state_key = _ev.state_key,
origin_server_ts = _ev.origin_server_ts,
- content = _ev.content.ToJson(indent: true, ignoreNull: true),
+ content = _ev.content.ToJson(true, true)
};
Events.Add(e);
- if (string.IsNullOrEmpty(e.state_key))
- {
+ if (string.IsNullOrEmpty(e.state_key)) {
FilteredEvents.Add(e);
}
StateLoaded++;
- if ((DateTime.Now - _lastUpdate).TotalMilliseconds > 100)
- {
+ if ((DateTime.Now - _lastUpdate).TotalMilliseconds > 100) {
_lastUpdate = DateTime.Now;
status = $"Loaded {StateLoaded} state events";
StateHasChanged();
await Task.Delay(0);
}
-
}
StateHasChanged();
}
- private async Task RebuildFilteredData()
- {
+ private async Task RebuildFilteredData() {
status = "Rebuilding filtered data...";
StateHasChanged();
await Task.Delay(1);
var _FilteredEvents = Events;
if (!ShowMembershipEvents)
_FilteredEvents = _FilteredEvents.Where(x => x.type != "m.room.member").ToList();
-
+
status = "Done, rerendering!";
StateHasChanged();
await Task.Delay(1);
@@ -142,9 +131,7 @@
StateHasChanged();
}
-
- public struct PreRenderedStateEvent
- {
+ public struct PreRenderedStateEvent {
public string content { get; set; }
public long origin_server_ts { get; set; }
public string state_key { get; set; }
@@ -155,11 +142,9 @@
// public string ReplacesState { get; set; }
}
- public bool ShowMembershipEvents
- {
+ public bool ShowMembershipEvents {
get => _showMembershipEvents;
- set
- {
+ set {
_showMembershipEvents = value;
RebuildFilteredData();
}
|