Skip to content

Commit

Permalink
fix Formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
linkdotnet committed Jun 14, 2024
1 parent 8160b79 commit f04ab4e
Showing 1 changed file with 39 additions and 38 deletions.
77 changes: 39 additions & 38 deletions src/LinkDotNet.Blog.Web/Features/Archive/ArchivePage.razor
Original file line number Diff line number Diff line change
Expand Up @@ -11,53 +11,54 @@

@if (blogPostsPerYear is null)
{
<Loading></Loading>
<Loading></Loading>
}
else
{
<div class="accordion" id="archiveAccordion">
@foreach (var yearGroup in blogPostsPerYear)
{
<div class="accordion-item">
<h2 class="accordion-header" id="heading">
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapse" aria-expanded="true" aria-controls="[email protected]">
@yearGroup.Key <span class="badge bg-primary ms-2">@yearGroup.Count()</span>
</button>
</h2>
<div id="collapse" class="accordion-collapse collapse show" aria-labelledby="heading" data-bs-parent="#archiveAccordion">
<div class="accordion-body">
<ul class="list-group">
@foreach (var blogPost in yearGroup.OrderByDescending(b => b.UpdatedDate))
{
<li class="list-group-item">
<a href="/blogPost/@blogPost.Id/@blogPost.Slug" class="text-decoration-none">@blogPost.Title</a>
<span class="text-muted small ps-2">(@blogPost.UpdatedDate.ToString("MMM dd, yyyy"))</span>
</li>
}
</ul>
<div class="accordion" id="archiveAccordion">
@foreach (var yearGroup in blogPostsPerYear)
{
<div class="accordion-item">
<h2 class="accordion-header" id="heading">
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapse" aria-expanded="true" aria-controls="[email protected]">
@yearGroup.Key <span class="badge bg-primary ms-2">@yearGroup.Count()</span>
</button>
</h2>
<div id="collapse" class="accordion-collapse collapse show" aria-labelledby="heading" data-bs-parent="#archiveAccordion">
<div class="accordion-body">
<ul class="list-group">
@foreach (var blogPost in yearGroup.OrderByDescending(b => b.UpdatedDate))
{
<li class="list-group-item">
<a href="/blogPost/@blogPost.Id/@blogPost.Slug" class="text-decoration-none">@blogPost.Title</a>
<span class="text-muted small ps-2">(@blogPost.UpdatedDate.ToString("MMM dd, yyyy"))</span>
</li>
}
</ul>
</div>
</div>
</div>
</div>
}
</div>
}
</div>
}
</div>

@code {
private IReadOnlyCollection<IGrouping<int, BlogPostPerYear>> blogPostsPerYear;
private int blogPostCount;
private IReadOnlyCollection<IGrouping<int, BlogPostPerYear>> blogPostsPerYear;
private int blogPostCount;

protected override async Task OnInitializedAsync()
{
var blogPosts = await Repository.GetAllByProjectionAsync(
p => new BlogPostPerYear(p.Id, p.Slug, p.Title, p.UpdatedDate),
p => p.IsPublished);
blogPostCount = blogPosts.Count;
blogPostsPerYear = blogPosts
.GroupBy(r => r.UpdatedDate.Year)
.OrderByDescending(r => r.Key)
.ToImmutableArray();
}
protected override async Task OnInitializedAsync()
{
var blogPosts = await Repository.GetAllByProjectionAsync(
p => new BlogPostPerYear(p.Id, p.Slug, p.Title, p.UpdatedDate),
p => p.IsPublished);

blogPostCount = blogPosts.Count;
blogPostsPerYear = blogPosts
.GroupBy(r => r.UpdatedDate.Year)
.OrderByDescending(r => r.Key)
.ToImmutableArray();
}

private sealed record BlogPostPerYear(string Id, string Slug, string Title, DateTime UpdatedDate);
private sealed record BlogPostPerYear(string Id, string Slug, string Title, DateTime UpdatedDate);
}

0 comments on commit f04ab4e

Please sign in to comment.