e5981769b9
TaxBaik CI/CD / build-and-deploy (push) Successful in 2m11s
- Admin: replace the global @rendermode on <Routes>/<Router> with per-page render mode. Login.razor now prerenders (form visible before WASM loads); every other [Authorize] page stays prerender: false to avoid the AuthorizeRouteView blank-render regression from earlier attempts. Adds a "준비 중" -> "로그인" splash tied to WASM boot completion, and lets the authenticated-shell loading overlay stay up until AdminShell actually renders. - Contact.cshtml: fix the "Agree" checkbox missing value="true" - a checked box sent the browser-default "on", which bool model binding can't parse, so ModelState.IsValid silently went false and OnPostAsync returned a blank form with no visible error on every submission. Validation summary widened from ModelOnly to All so this class of failure isn't silent again. - TelegramInquiryNotificationService: read Telegram:InquiryChatId (falling back to ChatId) instead of only ChatId, matching the channel routing CLAUDE.md documents and deploy.yml already provisions as separate secrets. - Reconcile CLAUDE.md's self-contradicting Phase 8 prerender notes (Phase 9), rewrite validate_admin_render.sh for the per-page design, and add a SmartAdmin 5.5 design reference section to DOUZONE_UX_GUIDE.md for future admin screens (existing screens unchanged, tracked as WBS P4-03). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
53 lines
1.7 KiB
Plaintext
53 lines
1.7 KiB
Plaintext
@page "/admin/companies/create"
|
|
@rendermode @(new InteractiveWebAssemblyRenderMode(prerender: false))
|
|
@attribute [Authorize]
|
|
@using TaxBaik.WasmClient.Components.Admin.Forms
|
|
@inject IApiClient ApiClient
|
|
@inject NavigationManager Navigation
|
|
@inject ISnackbar Snackbar
|
|
|
|
<PageTitle>고객사 등록</PageTitle>
|
|
|
|
<section class="admin-page-hero">
|
|
<div>
|
|
<MudText Typo="Typo.caption" Class="admin-eyebrow">Settings</MudText>
|
|
<MudText Typo="Typo.h4" Class="admin-page-title">새 고객사 등록</MudText>
|
|
<MudText Typo="Typo.body2" Class="admin-page-subtitle">새로운 고객사를 추가합니다.</MudText>
|
|
</div>
|
|
<MudButton Variant="Variant.Outlined" StartIcon="@Icons.Material.Filled.Close" @onclick="GoBack">취소</MudButton>
|
|
</section>
|
|
|
|
<MudPaper Class="pa-4 mt-4" Elevation="1">
|
|
<CompanyForm ButtonText="등록" OnSubmit="HandleCreate" OnCancel="GoBack" />
|
|
</MudPaper>
|
|
|
|
@code {
|
|
private void GoBack()
|
|
{
|
|
Navigation.NavigateTo("/taxbaik/admin/companies");
|
|
}
|
|
|
|
private async Task HandleCreate(CompanyForm.CompanyFormModel model)
|
|
{
|
|
try
|
|
{
|
|
await ApiClient.PostAsync<object>("company", new
|
|
{
|
|
companyCode = model.CompanyCode,
|
|
companyName = model.CompanyName,
|
|
contactPerson = model.ContactPerson,
|
|
phone = model.Phone,
|
|
email = model.Email,
|
|
memo = model.Memo
|
|
});
|
|
|
|
Snackbar.Add("고객사가 등록되었습니다.", Severity.Success);
|
|
Navigation.NavigateTo("/taxbaik/admin/companies");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Snackbar.Add($"등록 실패: {ex.Message}", Severity.Error);
|
|
}
|
|
}
|
|
}
|