@using Iceshrimp.Frontend.Core.Miscellaneous @using Iceshrimp.Frontend.Core.Services @using Iceshrimp.Shared.Schemas.Web @inject ApiService Api; @inject ILogger Logger; @inject NavigationManager Nav; @if (State is State.Loaded) {
@if (ReactedBy != null) @foreach (var el in ReactedBy) {
@@@el.Username@(el.Host != null ? $"@{el.Host}" : "")
}
} @code { [Parameter, EditorRequired] public required NoteReactionSchema Reaction { get; set; } [Parameter, EditorRequired] public required string NoteId { get; set; } private List? ReactedBy { get; set; } = []; private State State { get; set; } protected override async Task OnInitializedAsync() { try { State = State.Loading; ReactedBy = await Api.Notes.GetNoteReactionsAsync(NoteId, Reaction.Name); State = State.Loaded; } catch (ApiException e) { Logger.LogError(e, "Failed to fetch reactions."); State = State.Error; } } private void OpenProfile(string username, string? host) { var path = $"@{username}"; if (host != null) { path += $"@{host}"; } Nav.NavigateTo($"/{path}"); } }