Files

113 lines
3.1 KiB
Plaintext

@page "/user/basic-info"
@inject UserAPIConsumer userAPIConsumer
@inject NavigationManager nav
<Dialog ShowDialog="showNameDialog" OnCancel="ToggleNameDialog" OnSubmit="ChangeName" TitleName="@("Change Name")">
<div>
TEST TEST TEST
</div>
</Dialog>
@*
<Dialog OnCancel="ToggleEmailDialog" OnSubmit="ChangeEmail" TitleName="Change Email" ></Dialog>
<Dialog OnCancel="TogglePhoneNumberDialog" OnSubmit="ChangePhoneNumber" TitleName="Change Phone Number" ></Dialog>
<Dialog OnCancel="TogglePassword" OnSubmit="ChangePassword" TitleName="Change Password" ></Dialog> *@
<div class="grid grid-cols-1 md:grid-cols-2 p-20">
@*
<ToggleInput InputValue="userInfoUpdate.Name" OnSave="ChangeName" InputType="text" Label="Name"></ToggleInput>
<ToggleInput InputValue="userInfoUpdate.Email" OnSave="ChangeEmail" InputType="email" Label="Email"></ToggleInput>
<ToggleInput InputValue="userInfoUpdate.PhoneNumber" OnSave="ChangePhoneNumber" InputType="number" Label="Phone
Number"></ToggleInput>
<ToggleInput OnSave="ChangePassword" InputType="password" Label="Password"></ToggleInput> *@
<div class="flex flex-row justify-between">
<label>Name:</label>
<p>@user.Name</p>
<button @onclick="ToggleNameDialog" class="btn btn-primary">Change</button>
</div>
<div class="flex flex-row justify-between">
<label>Email:</label>
<p>@user.Email</p>
<button @onclick="ToggleEmailDialog" class="btn btn-primary">Change</button>
</div>
<div class="flex flex-row justify-between">
<label>PhoneNumber:</label>
<p>@user.PhoneNumber</p>
<button @onclick="TogglePhoneNumberDialog" class="btn btn-primary">Change</button>
</div>
<div class="flex flex-row justify-between">
<label>Password:</label>
<p>***********</p>
<button @onclick="TogglePasswordDialog" class="btn btn-primary">Change</button>
</div>
</div>
@code {
UserVM user = new();
[CascadingParameter] public Task<AuthenticationState> authStateTask { get; set; }
bool showNameDialog = false;
bool showEmailDialog = false;
bool showPhoneNumberDialog = false;
bool showPasswordDialog = false;
protected override async Task OnInitializedAsync()
{
var userId = (await authStateTask).User.Claims.FirstOrDefault(x => x.Type == "id").Value;
if (userId == null)
nav.NavigateTo("/signin");
user = await userAPIConsumer.GetUser(userId);
}
void ToggleNameDialog() => showNameDialog = !showNameDialog;
void ToggleEmailDialog() => showEmailDialog = !showEmailDialog;
void TogglePhoneNumberDialog() => showPhoneNumberDialog = !showPhoneNumberDialog;
void TogglePasswordDialog() => showPasswordDialog = !showPasswordDialog;
async Task ChangeName()
{
ToggleNameDialog();
}
async Task ChangeEmail()
{
ToggleEmailDialog();
}
async Task ChangePhoneNumber()
{
TogglePhoneNumberDialog();
}
async Task ChangePassword()
{
TogglePasswordDialog();
}
}