Files
CouchLog/CouchLog/Components/Account/Pages/Manage/Index.razor
T
Penry 5fcc42a99f
Build Docker Linux ARM64 / build-docker-linux-arm64 (push) Successful in 1m47s
Build Docker Linux ARM64 Release / build-docker-linux-arm64-release (push) Successful in 14s
V0.1.2 (#80)
Reviewed-on: #80
2026-07-09 00:02:14 +02:00

65 lines
1.8 KiB
Plaintext

@page "/Account/Manage"
@using System.ComponentModel.DataAnnotations
@using Microsoft.AspNetCore.Identity
@using CouchLog.Data
@inject UserManager<ApplicationUser> UserManager
@inject SignInManager<ApplicationUser> SignInManager
@inject IdentityUserAccessor UserAccessor
@inject IdentityRedirectManager RedirectManager
<PageTitle>Profile</PageTitle>
<MudText Typo="Typo.h6">Profile</MudText>
<StatusMessage />
<MudContainer Class="pa-0 ma-0">
<MudTextField Value="@username" Variant="Variant.Outlined" Label="Username"/>
</MudContainer>
@code {
private ApplicationUser user = default!;
private string? username;
//private string? phoneNumber;
[CascadingParameter]
private HttpContext HttpContext { get; set; } = default!;
[SupplyParameterFromForm]
private InputModel Input { get; set; } = null!;
protected override async Task OnInitializedAsync()
{
user = await UserAccessor.GetRequiredUserAsync(HttpContext);
username = await UserManager.GetUserNameAsync(user);
//phoneNumber = await UserManager.GetPhoneNumberAsync(user);
//Input.PhoneNumber ??= phoneNumber;
}
private async Task OnValidSubmitAsync()
{
/*if (Input.PhoneNumber != phoneNumber)
{
var setPhoneResult = await UserManager.SetPhoneNumberAsync(user, Input.PhoneNumber);
if (!setPhoneResult.Succeeded)
{
RedirectManager.RedirectToCurrentPageWithStatus("Error: Failed to set phone number.", HttpContext);
}
}*/
await SignInManager.RefreshSignInAsync(user);
RedirectManager.RedirectToCurrentPageWithStatus("Your profile has been updated", HttpContext);
}
private sealed class InputModel
{
[Phone]
[Display(Name = "Phone number")]
public string? PhoneNumber { get; set; }
}
}