@page "/admin/faqs" @attribute [Authorize] @using TaxBaik.Application.Services @using TaxBaik.Domain.Entities @inject FaqService FaqService @inject NavigationManager Navigation @inject IDialogService DialogService @inject ISnackbar Snackbar FAQ 관리 홈페이지 FAQ 관리 홈페이지 자주 묻는 질문을 등록하고 순서를 관리합니다. FAQ 등록 @if (faqs is null) { } else if (!faqs.Any()) { 등록된 FAQ가 없습니다. } else { 순서 질문 카테고리 상태 @foreach (var item in faqs) { @item.SortOrder @item.Question @if (!string.IsNullOrEmpty(item.Category)) { @item.Category } @if (item.IsActive) { 노출 중 } else { 비활성 } Navigation.NavigateTo($"/taxbaik/admin/faqs/{item.Id}/edit"))"> 수정 DeleteAsync(item))"> 삭제 } 총 @(faqs.Count)개 · 노출 중 @(faqs.Count(f => f.IsActive))개 } @code { private List? faqs; protected override async Task OnInitializedAsync() => await LoadAsync(); private async Task LoadAsync() { faqs = (await FaqService.GetAllAsync()).ToList(); } private async Task DeleteAsync(Faq item) { var confirmed = await DialogService.ShowMessageBox( "FAQ 삭제", $"'{item.Question}' 항목을 삭제하시겠습니까?", yesText: "삭제", cancelText: "취소"); if (confirmed != true) return; await FaqService.DeleteAsync(item.Id); Snackbar.Add("FAQ가 삭제되었습니다.", Severity.Success); await LoadAsync(); } }