diff --git a/src/LinkDotNet.Blog.Web/Features/Archive/ArchivePage.razor b/src/LinkDotNet.Blog.Web/Features/Archive/ArchivePage.razor index 4ffc6c5d..cc51207f 100644 --- a/src/LinkDotNet.Blog.Web/Features/Archive/ArchivePage.razor +++ b/src/LinkDotNet.Blog.Web/Features/Archive/ArchivePage.razor @@ -11,53 +11,54 @@ @if (blogPostsPerYear is null) { - + } else { -
- @foreach (var yearGroup in blogPostsPerYear) - { -
-

- -

-
-
-
    - @foreach (var blogPost in yearGroup.OrderByDescending(b => b.UpdatedDate)) - { -
  • - @blogPost.Title - (@blogPost.UpdatedDate.ToString("MMM dd, yyyy")) -
  • - } -
+
+ @foreach (var yearGroup in blogPostsPerYear) + { +
+

+ +

+
+
+
    + @foreach (var blogPost in yearGroup.OrderByDescending(b => b.UpdatedDate)) + { +
  • + @blogPost.Title + (@blogPost.UpdatedDate.ToString("MMM dd, yyyy")) +
  • + } +
+
+
-
+ }
- } -
}
@code { -private IReadOnlyCollection> blogPostsPerYear; -private int blogPostCount; + private IReadOnlyCollection> 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); }