@page "/dashboard" @using System.ComponentModel.DataAnnotations; @using System.Net @inject HttpClient req @inject UserManager usr Dashboard

Your profile

@if (!string.IsNullOrWhiteSpace(_err)) {

@_err

}

Profile settings

Security settings

@code { private string _err = ""; private PasswordChangeRequest _pwc = new(); private EmailChangeRequest _emc = new(); private ProfileRequest _pdr = new(); public record PasswordChangeRequest { [Required] public string PasswordOld { get; set; } = default!; [Required] public string PasswordNew { get; set; } = default!; }; public record EmailChangeRequest { [Required] [EmailAddress] public string Email { get; set; } = default!; } public record ProfileRequest { public string? Bio { get; set; } public string? CC { get; set; } public string? City { get; set; } public ICollection Interests { get; set; } = new List(); } protected async override Task OnInitializedAsync() { } private async Task ChangePassword() { var resp = await req.PostAsJsonAsync("/api/auth/changepass", _pwc); if (!resp.IsSuccessStatusCode) { _err = await resp.Content.ReadAsStringAsync(); } this._pwc = new(); this.StateHasChanged(); } private async Task ChangeEmail() { var resp = await req.PostAsJsonAsync("/api/auth/changemail", _emc); if (!resp.IsSuccessStatusCode) { _err = await resp.Content.ReadAsStringAsync(); } this._emc = new(); this.StateHasChanged(); } private async Task UpdateProfile() { var resp = await req.PostAsJsonAsync("/api/auth/profile/update", _pdr); if (!resp.IsSuccessStatusCode) { _err = await resp.Content.ReadAsStringAsync(); } this._pdr = new(); this.StateHasChanged(); } }