74ee47a269
TaxBaik CI/CD / build-and-deploy (push) Successful in 49s
- Move MudTabs inside MudPaper always visible structure - Only render MudTabs content (with data) after isLoading becomes false - Add null/empty check in InquiryTable.OnParametersSet() - Add error handling in InquiryList data loading Previously, MudTabs would render before data loaded, causing child InquiryTable components to mount with empty Inquiries list. After data loaded, child components weren't re-rendered because Blazor didn't detect parameter changes in that scenario. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
67 lines
2.0 KiB
Plaintext
67 lines
2.0 KiB
Plaintext
@page "/admin/inquiries"
|
|
@attribute [Authorize]
|
|
@using TaxBaik.Web.Services
|
|
@inject IInquiryBrowserClient InquiryClient
|
|
|
|
<PageTitle>문의 관리</PageTitle>
|
|
|
|
<section class="admin-page-hero">
|
|
<div>
|
|
<MudText Typo="Typo.caption" Class="admin-eyebrow">Customer Requests</MudText>
|
|
<MudText Typo="Typo.h4" Class="admin-page-title">문의 관리</MudText>
|
|
<MudText Typo="Typo.body2" Class="admin-page-subtitle">상담 요청을 상태별로 확인하고 후속 조치를 기록합니다.</MudText>
|
|
</div>
|
|
</section>
|
|
|
|
<MudPaper Class="admin-surface" Elevation="0">
|
|
@if (isLoading)
|
|
{
|
|
<MudProgressCircular Indeterminate="true" Class="ma-4" />
|
|
}
|
|
else
|
|
{
|
|
<MudTabs Rounded="true" Elevation="0" Class="admin-tabs">
|
|
<MudTabPanel Text="전체">
|
|
<InquiryTable Inquiries="allInquiries" Status="" />
|
|
</MudTabPanel>
|
|
<MudTabPanel Text="신규">
|
|
<InquiryTable Inquiries="allInquiries" Status="new" />
|
|
</MudTabPanel>
|
|
<MudTabPanel Text="상담중">
|
|
<InquiryTable Inquiries="allInquiries" Status="consulting" />
|
|
</MudTabPanel>
|
|
<MudTabPanel Text="계약완료">
|
|
<InquiryTable Inquiries="allInquiries" Status="contracted" />
|
|
</MudTabPanel>
|
|
<MudTabPanel Text="거절">
|
|
<InquiryTable Inquiries="allInquiries" Status="rejected" />
|
|
</MudTabPanel>
|
|
<MudTabPanel Text="종결">
|
|
<InquiryTable Inquiries="allInquiries" Status="closed" />
|
|
</MudTabPanel>
|
|
</MudTabs>
|
|
}
|
|
</MudPaper>
|
|
|
|
@code {
|
|
private bool isLoading = true;
|
|
private IReadOnlyList<Domain.Entities.Inquiry> allInquiries = [];
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
try
|
|
{
|
|
var (items, _) = await InquiryClient.GetPagedAsync(1, 200);
|
|
allInquiries = items.ToList();
|
|
}
|
|
catch
|
|
{
|
|
allInquiries = [];
|
|
}
|
|
finally
|
|
{
|
|
isLoading = false;
|
|
}
|
|
}
|
|
}
|