refactor: remplacer Invocation du composant Sidebar par une vue partielle et mettre à jour la liste des styles

This commit is contained in:
mirage
2026-03-26 11:13:52 +01:00
parent 95a5f99334
commit 4deb7af6f0
3 changed files with 41 additions and 32 deletions

View File

@@ -1,21 +0,0 @@
using Microsoft.AspNetCore.Mvc;
using Webzine.Repository.Contracts;
namespace Webzine.Components
{
public class SidebarViewComponent : ViewComponent
{
private readonly IStyleRepository styleRepository;
public SidebarViewComponent(IStyleRepository styleRepository)
{
this.styleRepository = styleRepository;
}
public IViewComponentResult Invoke()
{
var styles = this.styleRepository.FindAll();
return this.View(styles);
}
}
}

View File

@@ -19,7 +19,7 @@
</main> </main>
@if(ViewContext.RouteData.Values["area"]?.ToString() != "Administration") @if(ViewContext.RouteData.Values["area"]?.ToString() != "Administration")
{ {
@await Component.InvokeAsync("Sidebar") <partial name="_Sidebar" />
} }
</div> </div>
</div> </div>

View File

@@ -1,5 +1,8 @@
@model IEnumerable<Webzine.Entity.Style> @*
For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
*@
@{
}
<aside class="col-lg-3 d-none d-lg-block"> <aside class="col-lg-3 d-none d-lg-block">
<div> <div>
<h2>À propos</h2> <h2>À propos</h2>
@@ -8,14 +11,41 @@
<div> <div>
<h2>Styles</h2> <h2>Styles</h2>
<ul> <ul>
@foreach (var style in Model) <li><a asp-controller="Titre" asp-action="Style" asp-route-id="Acid house">Acid house</a></li>
{ <li><a asp-controller="Titre" asp-action="Style" asp-route-id="Ambient">Ambient</a></li>
<li> <li><a asp-controller="Titre" asp-action="Style" asp-route-id="Deep house">Deep house</a></li>
<a asp-controller="Titre" asp-action="Style" asp-route-id="@style.Libelle"> <li><a asp-controller="Titre" asp-action="Style" asp-route-id="Disco">Disco</a></li>
@style.Libelle <li><a asp-controller="Titre" asp-action="Style" asp-route-id="Downtempo">Downtempo</a></li>
</a> <li><a asp-controller="Titre" asp-action="Style" asp-route-id="Drum n bass">Drum n bass</a></li>
</li> <li><a asp-controller="Titre" asp-action="Style" asp-route-id="Dub Techno">Dub Techno</a></li>
} <li><a asp-controller="Titre" asp-action="Style" asp-route-id="Electro">Electro</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Electronic">Electronic</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Experimental">Experimental</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Funk">Funk</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Garage">Garage</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Hardcore">Hardcore</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Hardstyle">Hardstyle</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Hip hop">Hip hop</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="House">House</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Indie">Indie</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Industrial">Industrial</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Jazz">Jazz</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Latin">Latin</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Metal">Metal</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Minimal">Minimal</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Pop">Pop</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Progressive">Progressive</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Punk">Punk</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="R&B">R&B</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Rap">Rap</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Reggae">Reggae</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Rock">Rock</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Soul">Soul</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Techno">Techno</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Trance">Trance</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="Trip hop">Trip hop</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="UK garage">UK garage</a></li>
<li><a asp-controller="Titre" asp-action="Style" asp-route-id="World">World</a></li>
</ul> </ul>
</div> </div>
</aside> </aside>