about summary refs log tree commit diff
path: root/MatrixRoomUtils.Web/Shared/UserListItem.razor
diff options
context:
space:
mode:
authorTheArcaneBrony <myrainbowdash949@gmail.com>2023-10-19 07:21:41 +0200
committerTheArcaneBrony <myrainbowdash949@gmail.com>2023-10-19 07:21:41 +0200
commit063fb6f12aea3a5b71c05beea22e7f6482c2f1cf (patch)
tree064aa9edd5a27017f95ed0a6b19ac69499005778 /MatrixRoomUtils.Web/Shared/UserListItem.razor
parentAdd user management page (diff)
downloadMatrixUtils-063fb6f12aea3a5b71c05beea22e7f6482c2f1cf.tar.xz
Refactor, fix stuff
Diffstat (limited to 'MatrixRoomUtils.Web/Shared/UserListItem.razor')
-rw-r--r--MatrixRoomUtils.Web/Shared/UserListItem.razor30
1 files changed, 10 insertions, 20 deletions
diff --git a/MatrixRoomUtils.Web/Shared/UserListItem.razor b/MatrixRoomUtils.Web/Shared/UserListItem.razor
index 9010820..96e8e64 100644
--- a/MatrixRoomUtils.Web/Shared/UserListItem.razor
+++ b/MatrixRoomUtils.Web/Shared/UserListItem.razor
@@ -1,8 +1,9 @@
 @using LibMatrix.Helpers
 @using LibMatrix.EventTypes.Spec.State
+@using LibMatrix.Homeservers
 <div style="background-color: #ffffff11; border-radius: 25px; margin: 8px; width: fit-Content;">
-    <img style="@(ChildContent is not null ? "vertical-align: baseline;" : "") width: 32px; height:  32px; border-radius: 50%;" src="@profileAvatar"/>
-    <span style="vertical-align: middle; margin-right: 8px; border-radius: 75px;">@profileName</span>
+    <img style="@(ChildContent is not null ? "vertical-align: baseline;" : "") width: 32px; height:  32px; border-radius: 50%;" src="@(string.IsNullOrWhiteSpace(User?.AvatarUrl) ? "https://api.dicebear.com/6.x/identicon/svg?seed=" + UserId : User.AvatarUrl)"/>
+    <span style="vertical-align: middle; margin-right: 8px; border-radius: 75px;">@User?.DisplayName</span>
 
     <div style="display: inline-block;">
         @if (ChildContent is not null) {
@@ -18,36 +19,25 @@
     public RenderFragment? ChildContent { get; set; }
 
     [Parameter]
-    public ProfileResponseEventContent User { get; set; }
+    public ProfileResponseEventContent? User { get; set; }
 
     [Parameter]
     public string UserId { get; set; }
 
-    private string? profileAvatar { get; set; } = "/icon-192.png";
-    private string? profileName { get; set; } = "Loading...";
-
-    private static SemaphoreSlim _semaphoreSlim = new(8);
+    private AuthenticatedHomeserverGeneric _homeserver = null!;
 
     protected override async Task OnInitializedAsync() {
-        await base.OnInitializedAsync();
-
-        var hs = await MRUStorage.GetCurrentSessionOrNavigate();
-        if (hs is null) return;
-
-        await _semaphoreSlim.WaitAsync();
+        _homeserver = await MRUStorage.GetCurrentSessionOrNavigate();
+        if (_homeserver is null) return;
 
         if (User == null) {
             if (UserId == null) {
                 throw new ArgumentNullException(nameof(UserId));
             }
-            User = await hs.GetProfileAsync(UserId);
+            User = await _homeserver.GetProfileAsync(UserId);
         }
 
-    // UserId = User.;
-        profileAvatar = await hsResolver.ResolveMediaUri(hs.ServerName, User.AvatarUrl);
-        profileName = User.DisplayName;
-
-        _semaphoreSlim.Release();
+        await base.OnInitializedAsync();
     }
 
-}
+}
\ No newline at end of file