@page "/users/search"
@rendermode InteractiveServer
@inject ImageUrlService Img
Search Users
Search Users
Search for player accounts by username, display name, or account ID.
@if (searching)
{
}
else if (!string.IsNullOrEmpty(error))
{
@error
}
else if (results != null && results.Count == 0)
{
No users found matching "@searchQuery".
}
else if (results != null)
{
| ID |
Profile Image |
Username |
Display Name |
Created |
Actions |
@foreach (var account in results)
{
| @account.AccountId |
@if (!string.IsNullOrEmpty(account.ProfileImage))
{
}
|
@account.Username |
@account.DisplayName |
@account.CreatedAt.ToString("g") |
Edit
|
}
}
@code {
[Inject] private HttpClient Http { get; set; } = default!;
private string searchQuery = "";
private bool searching;
private string? error;
private List? results;
private async Task DoSearch()
{
searching = true;
error = null;
results = null;
try
{
results = await Http.GetFromJsonAsync>($"/admin/api/accounts/search?q={Uri.EscapeDataString(searchQuery)}");
}
catch (Exception ex)
{
error = $"Search failed: {ex.Message}";
}
finally
{
searching = false;
}
}
}