@using Iceshrimp.Assets.PhosphorIcons @using Iceshrimp.Frontend.Core.Services @using Iceshrimp.Frontend.Localization @using Iceshrimp.Shared.Schemas.Web @using Microsoft.Extensions.Localization @inject IStringLocalizer Loc; @inject ApiService Api; @inject NavigationManager NavigationManager;
@if (_followBack) { }
@code { [Parameter] [EditorRequired] public required FollowRequestResponse FollowRequest { get; set; } [Parameter] [EditorRequired] public required EventCallback OnDelete { get; set; } private bool _followBack = false; protected override async Task OnInitializedAsync() { var profile = await Api.Users.GetUserProfile(FollowRequest.User.Id); if (profile != null) _followBack = profile.Relations.HasFlag(Relations.None); } private async void Accept() { await Api.FollowRequests.AcceptFollowRequest(FollowRequest.Id); await OnDelete.InvokeAsync(FollowRequest.Id); } private async void AcceptAndFollowBack() { await Api.FollowRequests.AcceptFollowRequest(FollowRequest.Id); await Api.Users.FollowUser(FollowRequest.User.Id); await OnDelete.InvokeAsync(FollowRequest.Id); } private async void Reject() { await Api.FollowRequests.RejectFollowRequest(FollowRequest.Id); await OnDelete.InvokeAsync(FollowRequest.Id); } }