#124 : Mis en place d'un bouton pour acceder aux titres récents.

This commit is contained in:
Loic Masi
2026-04-07 11:25:50 +02:00
parent 860afe41ec
commit 6173c2c5a9
3 changed files with 27 additions and 11 deletions

View File

@@ -31,7 +31,6 @@
this.configuration = configuration;
this.titreRepository = titreRepository;
this.logger.LogDebug(1, "initialisation du AccueilController");
this.titreRepository = titreRepository;
}
/// <summary>
@@ -45,17 +44,20 @@
var derniereChronique = this.configuration.GetValue<int>("Webzine:NombreDerniereChronique");
var nbTopTitres = this.configuration.GetValue<int>("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);

View File

@@ -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.
/// </summary>
public int Page { get; set; } = 0;
/// <summary>
/// Nombre total de page.
/// </summary>
public int TotalPages { get; set; } = 0;
}
}

View File

@@ -73,12 +73,21 @@
</div>
}
<!-- Bouton -->
<div class="row justify-content-end">
<a asp-action="Index" asp-route-page="@(Model.Page + 1)"
class="btn btn-secondary col-auto mt-3">
Titres plus anciens >>
</button>
</a>
<div class="row justify-content-between">
@if (Model.Page > 0)
{
<a asp-action="Index" asp-route-page="@(Model.Page - 1)"
class="btn btn-secondary col-auto mt-3">
&lt;&lt; Titre plus récent
</a>
}
@if (Model.Page < Model.TotalPages - 1)
{
<a asp-action="Index" asp-route-page="@(Model.Page + 1)"
class="btn btn-secondary col-auto mt-3 ms-auto">
Titre plus anciens &gt;&gt;
</a>
}
</div>
</div>