Files
kjh2064 1b173376ee
TaxBaik CI/CD / build-and-deploy (push) Failing after 1m53s
refactor: admin ui를 fluent v5와 html 기반으로 전환
2026-06-29 22:37:40 +09:00

46 lines
1.5 KiB
Plaintext

@page "/admin/inquiries/create"
@attribute [Authorize]
@using TaxBaik.Application.DTOs
@using TaxBaik.Application.Services
@using TaxBaik.Web.Components.Admin.Forms
@inject InquiryService InquiryService
@inject NavigationManager Navigation
@inject IJSRuntime JS
<PageTitle>문의 등록</PageTitle>
<section class="admin-page-hero">
<div>
<div class="admin-eyebrow">Customer Relations</div>
<h1 class="admin-page-title">새 문의 등록</h1>
<p class="admin-page-subtitle">고객 문의를 등록합니다. (전화, 오프라인 등)</p>
</div>
<button type="button" class="site-button secondary" @onclick="GoBack">취소</button>
</section>
<div class="admin-surface mt-4">
<InquiryForm ButtonText="등록" OnSubmit="HandleCreate" OnCancel="GoBack" />
</div>
@code {
private void GoBack() => Navigation.NavigateTo("/taxbaik/admin/inquiries");
private async Task HandleCreate(InquiryForm.InquiryFormModel model)
{
try
{
await InquiryService.SubmitAsync(model.Name, model.Phone, model.ServiceType, model.Message, model.Email, ipAddress: "admin-registered");
await JS.InvokeVoidAsync("alert", "문의가 등록되었습니다.");
Navigation.NavigateTo("/taxbaik/admin/inquiries");
}
catch (ValidationException ex)
{
await JS.InvokeVoidAsync("alert", ex.Message);
}
catch (Exception ex)
{
await JS.InvokeVoidAsync("alert", $"등록 실패: {ex.Message}");
}
}
}