@using TaxBaik.Web.Services @inject IInquiryBrowserClient InquiryClient 이름 전화 분야 상태 메시지 날짜 @foreach (var inquiry in filteredInquiries) { @inquiry.Name @inquiry.Phone @inquiry.ServiceType @GetStatusLabel(inquiry.Status) @GetPreview(inquiry.Message) @inquiry.CreatedAt.ToString("yyyy-MM-dd") 문의 내용 확인 } @code { [Parameter] public string Status { get; set; } = ""; private List inquiries = []; private List filteredInquiries = []; protected override async Task OnInitializedAsync() { var (items, _) = await InquiryClient.GetPagedAsync(1, 100); inquiries = items.ToList(); FilterInquiries(); } private void FilterInquiries() { filteredInquiries = string.IsNullOrEmpty(Status) ? inquiries : inquiries.Where(x => x.Status == Status).ToList(); } private static string GetPreview(string message) { if (string.IsNullOrWhiteSpace(message)) return "-"; var trimmed = message.Trim(); return trimmed.Length <= 30 ? trimmed : $"{trimmed[..30]}..."; } private static Color GetStatusColor(string status) => status switch { "new" => Color.Warning, "consulting" => Color.Info, "contracted" => Color.Success, "rejected" => Color.Error, "closed" => Color.Dark, _ => Color.Default }; private static string GetStatusLabel(string status) => InquiryStatusMapper.Labels.GetValueOrDefault(status, status); protected override async Task OnParametersSetAsync() { FilterInquiries(); } }