46 lines
1.2 KiB
Plaintext
46 lines
1.2 KiB
Plaintext
@page "/blog"
|
|
@using TaxBaik.Application.Services
|
|
@inject BlogService BlogService
|
|
|
|
<PageTitle>블로그</PageTitle>
|
|
|
|
<section class="site-content">
|
|
<div class="site-section-header">
|
|
<h1>세무 블로그</h1>
|
|
<p>최신 세법 변화와 실무 팁을 확인하세요.</p>
|
|
</div>
|
|
|
|
@if (posts is null)
|
|
{
|
|
<Skeleton Count="6" CssClass="site-post-grid" />
|
|
}
|
|
else if (posts.Count == 0)
|
|
{
|
|
<p>게시물이 없습니다.</p>
|
|
}
|
|
else
|
|
{
|
|
<div class="site-post-grid">
|
|
@foreach (var post in posts)
|
|
{
|
|
<article class="site-post-card">
|
|
<div class="site-post-meta">@post.CategoryName</div>
|
|
<h2>@post.Title</h2>
|
|
<p>@(post.PublishedAt ?? post.CreatedAt).ToString("yyyy-MM-dd")</p>
|
|
<a class="site-button primary" href="/taxbaik/blog/@post.Slug">글 내용 보기</a>
|
|
</article>
|
|
}
|
|
</div>
|
|
}
|
|
</section>
|
|
|
|
@code {
|
|
private List<TaxBaik.Domain.Entities.BlogPost>? posts;
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
var (items, _) = await BlogService.GetPublishedPagedAsync(1, 12);
|
|
posts = items.ToList();
|
|
}
|
|
}
|