@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, EditorRequired] public IReadOnlyList Inquiries { get; set; } = []; [Parameter] public string Status { get; set; } = ""; private IReadOnlyList filteredInquiries = []; protected override void OnParametersSet() { if (Inquiries == null || Inquiries.Count == 0) { filteredInquiries = []; return; } 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 string GetStatusClass(string status) => status switch { "new" => "warning", "consulting" => "info", "contracted" => "success", "rejected" => "danger", "closed" => "muted", _ => "muted" }; private static string GetStatusLabel(string status) => InquiryStatusMapper.Labels.GetValueOrDefault(status, status); }