@page "/Profile/ConnectedAccounts" @using LANCommander.Server.Settings @using Microsoft.AspNetCore.Components.Authorization @using Microsoft.Extensions.Options @inject UserService UserService @inject UserCustomFieldService UserCustomFieldService @inject IOptions Settings @inject AuthenticationStateProvider AuthenticationStateProvider @inject NavigationManager NavigationManager @attribute [Authorize]
@if (!String.IsNullOrWhiteSpace(context.Icon)) { }

@context.Name

@{ var customField = CustomFields.FirstOrDefault(cf => cf.Name == context.GetCustomFieldName()); if (customField != null) { } else { } }
@code { User User = new(); List CustomFields = new(); protected override async Task OnInitializedAsync() { var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync(); if (authState.User.Identity.IsAuthenticated) { User = await UserService.GetAsync(authState.User.Identity.Name); } await LoadData(); } async Task LoadData() { foreach (var authenticationProvider in Settings.Value.Server.Authentication.AuthenticationProviders) { var customField = await UserCustomFieldService.FirstOrDefaultAsync(cf => cf.Name == authenticationProvider.GetCustomFieldName() && cf.UserId == User.Id); if (customField != null) CustomFields.Add(customField); } await InvokeAsync(StateHasChanged); } async Task Unlink(UserCustomField customField) { await UserCustomFieldService.DeleteAsync(customField.UserId.Value, customField.Name); await LoadData(); } }