From 6173c2c5a98cf475014c3e95df1a21b65484449b Mon Sep 17 00:00:00 2001 From: Loic Masi Date: Tue, 7 Apr 2026 11:25:50 +0200 Subject: [PATCH] =?UTF-8?q?#124=20:=20Mis=20en=20place=20d'un=20bouton=20p?= =?UTF-8?q?our=20acceder=20aux=20titres=20r=C3=A9cents.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/AccueilController.cs | 12 ++++++----- .../Accueil/AccueilIndexViewModel.cs | 5 +++++ .../Views/Accueil/Index.cshtml | 21 +++++++++++++------ 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/Webzine.WebApplication/Controllers/AccueilController.cs b/Webzine.WebApplication/Controllers/AccueilController.cs index 644febd..fd7c03e 100644 --- a/Webzine.WebApplication/Controllers/AccueilController.cs +++ b/Webzine.WebApplication/Controllers/AccueilController.cs @@ -31,7 +31,6 @@ this.configuration = configuration; this.titreRepository = titreRepository; this.logger.LogDebug(1, "initialisation du AccueilController"); - this.titreRepository = titreRepository; } /// @@ -45,17 +44,20 @@ var derniereChronique = this.configuration.GetValue("Webzine:NombreDerniereChronique"); var nbTopTitres = this.configuration.GetValue("Webzine:NombreDeTopTitres"); + var totalTitres = this.titreRepository.Count(); + var totalPages = (int)Math.Ceiling((double)totalTitres / derniereChronique); - var titres_pagines = this.titreRepository.FindTitres(page * derniereChronique, derniereChronique); - var top_titres = this.titreRepository.FindAll() + var titresPagines = this.titreRepository.FindTitres(page * derniereChronique, derniereChronique); + var topTitres = this.titreRepository.FindAll() .OrderByDescending(t => t.NbLikes) .Take(nbTopTitres); var vm = new AccueilIndexViewModel { - DerniersTitres = titres_pagines.ToList(), - TopTitres = top_titres.ToList(), + DerniersTitres = titresPagines.ToList(), + TopTitres = topTitres.ToList(), Page = page, + TotalPages = totalPages, }; return this.View(vm); diff --git a/Webzine.WebApplication/ViewModels/Accueil/AccueilIndexViewModel.cs b/Webzine.WebApplication/ViewModels/Accueil/AccueilIndexViewModel.cs index dbf66ff..d08b1a1 100644 --- a/Webzine.WebApplication/ViewModels/Accueil/AccueilIndexViewModel.cs +++ b/Webzine.WebApplication/ViewModels/Accueil/AccueilIndexViewModel.cs @@ -26,5 +26,10 @@ /// Obtient ou définit le numéro de page pour la pagination des titres affichés sur la page d'accueil. /// public int Page { get; set; } = 0; + + /// + /// Nombre total de page. + /// + public int TotalPages { get; set; } = 0; } } \ No newline at end of file diff --git a/Webzine.WebApplication/Views/Accueil/Index.cshtml b/Webzine.WebApplication/Views/Accueil/Index.cshtml index 82710cf..96769fd 100644 --- a/Webzine.WebApplication/Views/Accueil/Index.cshtml +++ b/Webzine.WebApplication/Views/Accueil/Index.cshtml @@ -73,12 +73,21 @@ } -
- - Titres plus anciens >> - - +
+ @if (Model.Page > 0) + { + + << Titre plus récent + + } + @if (Model.Page < Model.TotalPages - 1) + { + + Titre plus anciens >> + + }