From 2b5f91c1cdb29cc7c527df2c7476af635c86ed13 Mon Sep 17 00:00:00 2001 From: jvyden Date: Mon, 22 Nov 2021 19:12:53 -0500 Subject: [PATCH] Add pages to photos page --- .../Pages/Layouts/BaseLayout.cshtml.cs | 2 +- ProjectLighthouse/Pages/PhotosPage.cshtml | 15 ++++++++++++--- ProjectLighthouse/Pages/PhotosPage.cshtml.cs | 9 +++++++-- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/ProjectLighthouse/Pages/Layouts/BaseLayout.cshtml.cs b/ProjectLighthouse/Pages/Layouts/BaseLayout.cshtml.cs index 7c7be87a..3d3fbcc2 100644 --- a/ProjectLighthouse/Pages/Layouts/BaseLayout.cshtml.cs +++ b/ProjectLighthouse/Pages/Layouts/BaseLayout.cshtml.cs @@ -28,7 +28,7 @@ namespace LBPUnion.ProjectLighthouse.Pages.Layouts public readonly List NavigationItems = new() { new PageNavigationItem("Home", "/", "home"), - new PageNavigationItem("Photos", "/photos", "camera"), + new PageNavigationItem("Photos", "/photos/0", "camera"), }; } diff --git a/ProjectLighthouse/Pages/PhotosPage.cshtml b/ProjectLighthouse/Pages/PhotosPage.cshtml index 8caf6fb4..98f4e12d 100644 --- a/ProjectLighthouse/Pages/PhotosPage.cshtml +++ b/ProjectLighthouse/Pages/PhotosPage.cshtml @@ -1,4 +1,4 @@ -@page "/photos" +@page "/photos/{pageNumber:int}" @using LBPUnion.ProjectLighthouse.Types @model LBPUnion.ProjectLighthouse.Pages.PhotosPage @@ -12,7 +12,8 @@ @foreach (Photo photo in Model.Photos) {
-
+ +

@@ -31,4 +32,12 @@ @subject.User.Username }

-} \ No newline at end of file +} + +@if (Model.PageNumber != 0) +{ + Previous Page +} +Next Page + +
@* solves quirk with footer *@ \ No newline at end of file diff --git a/ProjectLighthouse/Pages/PhotosPage.cshtml.cs b/ProjectLighthouse/Pages/PhotosPage.cshtml.cs index 9e01566b..1849473f 100644 --- a/ProjectLighthouse/Pages/PhotosPage.cshtml.cs +++ b/ProjectLighthouse/Pages/PhotosPage.cshtml.cs @@ -19,11 +19,16 @@ namespace LBPUnion.ProjectLighthouse.Pages public List Photos; - public async Task OnGet() + public int PageNumber; + + public async Task OnGet([FromRoute] int pageNumber) { + const int pageSize = 20; this.PhotoCount = await StatisticsHelper.PhotoCount(); - this.Photos = await this.Database.Photos.Include(p => p.Creator).Take(20).ToListAsync(); + this.PageNumber = pageNumber; + + this.Photos = await this.Database.Photos.Include(p => p.Creator).Skip(pageNumber * pageSize).Take(pageSize).ToListAsync(); return this.Page(); }