@page "/blog"
@using TaxBaik.Application.Services
@using TaxBaik.Domain.Interfaces
@attribute [Authorize]
@inject IBlogPostRepository BlogRepository
@inject DialogService DialogService
@inject Snackbar Snackbar
블로그 관리
📝 블로그 관리
새 포스트
TogglePublish(cell.Item.Id, val))" />
수정
DeletePost(cell.Item.Id))">삭제
@code {
private List posts = [];
private bool isLoading = true;
protected override async Task OnInitializedAsync()
{
await LoadPosts();
}
private async Task LoadPosts()
{
isLoading = true;
var (items, total) = await BlogRepository.GetPagedAsync(1, 100);
posts = items.ToList();
isLoading = false;
}
private async Task TogglePublish(int postId, bool isPublished)
{
// TODO: Update publish status via service
Snackbar.Add("발행 상태가 변경되었습니다.", Severity.Success);
}
private async Task DeletePost(int postId)
{
var confirmed = await DialogService.ShowAsync(
"포스트 삭제", new DialogParameters { },
new DialogOptions { MaxWidth = MaxWidth.ExtraSmall });
var result = await confirmed.Result;
if (!result.Canceled)
{
// TODO: Delete via repository
await LoadPosts();
Snackbar.Add("포스트가 삭제되었습니다.", Severity.Success);
}
}
}