Refine admin login flow and verification harness
TaxBaik CI/CD / build-and-deploy (push) Successful in 2m21s
TaxBaik CI/CD / build-and-deploy (push) Successful in 2m21s
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
@page "/settings"
|
||||
@rendermode @(new InteractiveWebAssemblyRenderMode(prerender: true))
|
||||
@attribute [Authorize]
|
||||
@using System.ComponentModel.DataAnnotations
|
||||
@using System.Collections.Generic
|
||||
@using TaxBaik.Web.Services
|
||||
@using TaxBaik.Domain.Interfaces
|
||||
@@ -30,16 +29,16 @@
|
||||
</div>
|
||||
</div>
|
||||
<MudForm>
|
||||
<MudTextField @bind-Value="phone" Label="전화번호"
|
||||
<MudTextField @bind-Value="form.Phone" Label="전화번호"
|
||||
Variant="Variant.Outlined" Class="mb-4" />
|
||||
|
||||
<MudTextField @bind-Value="email" Label="이메일"
|
||||
<MudTextField @bind-Value="form.Email" Label="이메일"
|
||||
Variant="Variant.Outlined" Class="mb-4" />
|
||||
|
||||
<MudTextField @bind-Value="kakaoUrl" Label="카카오채널 URL"
|
||||
<MudTextField @bind-Value="form.KakaoUrl" Label="카카오채널 URL"
|
||||
Variant="Variant.Outlined" Class="mb-4" />
|
||||
|
||||
<MudTextField @bind-Value="instagramUrl" Label="인스타그램"
|
||||
<MudTextField @bind-Value="form.InstagramUrl" Label="인스타그램"
|
||||
Variant="Variant.Outlined" Class="mb-4" />
|
||||
|
||||
<MudButton Variant="Variant.Filled" Color="Color.Primary"
|
||||
@@ -59,13 +58,13 @@
|
||||
</div>
|
||||
|
||||
<MudForm>
|
||||
<MudTextField @bind-Value="currentPassword" Label="현재 비밀번호" InputType="InputType.Password"
|
||||
<MudTextField @bind-Value="passwordForm.CurrentPassword" Label="현재 비밀번호" InputType="InputType.Password"
|
||||
Variant="Variant.Outlined" Class="mb-4" />
|
||||
|
||||
<MudTextField @bind-Value="newPassword" Label="새 비밀번호" InputType="InputType.Password"
|
||||
<MudTextField @bind-Value="passwordForm.NewPassword" Label="새 비밀번호" InputType="InputType.Password"
|
||||
Variant="Variant.Outlined" Class="mb-4" />
|
||||
|
||||
<MudTextField @bind-Value="confirmNewPassword" Label="새 비밀번호 확인" InputType="InputType.Password"
|
||||
<MudTextField @bind-Value="passwordForm.ConfirmNewPassword" Label="새 비밀번호 확인" InputType="InputType.Password"
|
||||
Variant="Variant.Outlined" Class="mb-4" />
|
||||
|
||||
<MudButton Variant="Variant.Filled" Color="Color.Primary"
|
||||
@@ -80,15 +79,16 @@
|
||||
</MudGrid>
|
||||
|
||||
@code {
|
||||
private string phone = "010-4122-8268";
|
||||
private string email = "taxbaik5668@gmail.com";
|
||||
private string kakaoUrl = "http://pf.kakao.com/_xoxchTX";
|
||||
private string instagramUrl = "https://www.instagram.com/taxtory5668/";
|
||||
private string currentPassword = "";
|
||||
private string newPassword = "";
|
||||
private string confirmNewPassword = "";
|
||||
private bool isChangingPassword;
|
||||
private bool isLoadingSettings;
|
||||
private SiteSettingsFormModel form = new()
|
||||
{
|
||||
Phone = "010-4122-8268",
|
||||
Email = "taxbaik5668@gmail.com",
|
||||
KakaoUrl = "http://pf.kakao.com/_xoxchTX",
|
||||
InstagramUrl = "https://www.instagram.com/taxtory5668/"
|
||||
};
|
||||
private PasswordChangeFormModel passwordForm = new();
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
@@ -106,16 +106,16 @@
|
||||
return;
|
||||
|
||||
if (settings.TryGetValue("PhoneNumber", out var loadedPhone) && !string.IsNullOrWhiteSpace(loadedPhone))
|
||||
phone = loadedPhone;
|
||||
form.Phone = loadedPhone;
|
||||
|
||||
if (settings.TryGetValue("EmailAddress", out var loadedEmail) && !string.IsNullOrWhiteSpace(loadedEmail))
|
||||
email = loadedEmail;
|
||||
form.Email = loadedEmail;
|
||||
|
||||
if (settings.TryGetValue("KakaoChannelUrl", out var loadedKakao) && !string.IsNullOrWhiteSpace(loadedKakao))
|
||||
kakaoUrl = loadedKakao;
|
||||
form.KakaoUrl = loadedKakao;
|
||||
|
||||
if (settings.TryGetValue("InstagramUrl", out var loadedInstagram) && !string.IsNullOrWhiteSpace(loadedInstagram))
|
||||
instagramUrl = loadedInstagram;
|
||||
form.InstagramUrl = loadedInstagram;
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -134,10 +134,10 @@
|
||||
|
||||
var response = await ApiClient.PutAsync<SaveSettingsResponse>("site-settings", new
|
||||
{
|
||||
Phone = phone,
|
||||
Email = email,
|
||||
KakaoUrl = kakaoUrl,
|
||||
InstagramUrl = instagramUrl
|
||||
Phone = form.Phone,
|
||||
Email = form.Email,
|
||||
KakaoUrl = form.KakaoUrl,
|
||||
InstagramUrl = form.InstagramUrl
|
||||
});
|
||||
|
||||
if (response?.Message is null)
|
||||
@@ -154,13 +154,13 @@
|
||||
if (isChangingPassword)
|
||||
return;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(currentPassword) || string.IsNullOrWhiteSpace(newPassword))
|
||||
if (string.IsNullOrWhiteSpace(passwordForm.CurrentPassword) || string.IsNullOrWhiteSpace(passwordForm.NewPassword))
|
||||
{
|
||||
Snackbar.Add("현재 비밀번호와 새 비밀번호를 입력하세요.", Severity.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
if (newPassword != confirmNewPassword)
|
||||
if (passwordForm.NewPassword != passwordForm.ConfirmNewPassword)
|
||||
{
|
||||
Snackbar.Add("새 비밀번호 확인이 일치하지 않습니다.", Severity.Warning);
|
||||
return;
|
||||
@@ -172,8 +172,8 @@
|
||||
{
|
||||
var response = await ApiClient.PostAsync<ChangePasswordResponse>("auth/change-password", new
|
||||
{
|
||||
CurrentPassword = currentPassword,
|
||||
NewPassword = newPassword
|
||||
CurrentPassword = passwordForm.CurrentPassword,
|
||||
NewPassword = passwordForm.NewPassword
|
||||
});
|
||||
|
||||
if (response?.Message == null)
|
||||
@@ -183,9 +183,7 @@
|
||||
}
|
||||
|
||||
Snackbar.Add(response.Message, Severity.Success);
|
||||
currentPassword = "";
|
||||
newPassword = "";
|
||||
confirmNewPassword = "";
|
||||
passwordForm = new PasswordChangeFormModel();
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -206,4 +204,5 @@
|
||||
{
|
||||
public string Message { get; set; } = "";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user