diff --git a/src/LinkDotNet.Blog.Web/Features/Archive/ArchivePage.razor b/src/LinkDotNet.Blog.Web/Features/Archive/ArchivePage.razor
index c65e2b6c..4ffc6c5d 100644
--- a/src/LinkDotNet.Blog.Web/Features/Archive/ArchivePage.razor
+++ b/src/LinkDotNet.Blog.Web/Features/Archive/ArchivePage.razor
@@ -7,42 +7,57 @@
-
Archive (@blogPostCount posts)
+
Archive (@blogPostCount posts)
- @if (blogPostsPerYear is null)
- {
-
- }
- else
- {
- @foreach (var yearGroup in blogPostsPerYear)
- {
-
@yearGroup.Key
-
- @foreach (var blogPost in yearGroup.OrderByDescending(b => b.UpdatedDate))
- {
- - @blogPost.Title
- }
-
- }
- }
+ @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"))
+
+ }
+
+
+
+
+ }
+
+ }
@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);
}
diff --git a/tests/LinkDotNet.Blog.IntegrationTests/Web/Features/Archive/ArchivePageTests.cs b/tests/LinkDotNet.Blog.IntegrationTests/Web/Features/Archive/ArchivePageTests.cs
index 5c8c28a4..2c7dc938 100644
--- a/tests/LinkDotNet.Blog.IntegrationTests/Web/Features/Archive/ArchivePageTests.cs
+++ b/tests/LinkDotNet.Blog.IntegrationTests/Web/Features/Archive/ArchivePageTests.cs
@@ -29,13 +29,13 @@ public async Task ShouldDisplayAllBlogPosts()
cut.WaitForElements("h2");
var yearHeader = cut.FindAll("h2");
yearHeader.Should().HaveCount(2);
- yearHeader[0].TextContent.Should().Be("2022");
- yearHeader[1].TextContent.Should().Be("2021");
+ yearHeader[0].TextContent.Should().Contain("2022");
+ yearHeader[1].TextContent.Should().Contain("2021");
var entries = cut.FindAll("li");
entries.Should().HaveCount(3);
- entries[0].TextContent.Should().Be("Blog Post 3");
- entries[1].TextContent.Should().Be("Blog Post 2");
- entries[2].TextContent.Should().Be("Blog Post 1");
+ entries[0].TextContent.Should().Contain("Blog Post 3");
+ entries[1].TextContent.Should().Contain("Blog Post 2");
+ entries[2].TextContent.Should().Contain("Blog Post 1");
}
[Fact]