diff --git a/Iceshrimp.Frontend/Components/FollowRequestEntry.razor b/Iceshrimp.Frontend/Components/FollowRequestEntry.razor index c9cacbb4..f7e10d83 100644 --- a/Iceshrimp.Frontend/Components/FollowRequestEntry.razor +++ b/Iceshrimp.Frontend/Components/FollowRequestEntry.razor @@ -11,6 +11,12 @@
+ @if (_followBack) + { + + } @@ -23,15 +29,30 @@ @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); } -} \ No newline at end of file +}