{% extends 'base.html.twig' %}
{% block title %}Collection complète{% endblock %}
{% block body %}
<div style="width: 100%;">
<section class='topPageCollection'>
{# <div class="firstPart">#}
{# <h3 class="lists-title">Ecusson.</h3>#}
{# </div>#}
<div class="subtitleCollection">
<span class="mt-5">Le site est en cours de remplissage.<br>
À venir, plus de 8 000 écussons. Merci de prendre contact pour plus d'informations.
</span>
<p>Nombre total d'écussons en base : {{ count }}</p>
</div>
{{ form_start(form2, {'method': 'GET'}) }}
<span class="searchPart">
<i class="fa-solid fa-magnifying-glass" style="color: #ffffff;"></i>
{{ form_row(form2.search) }}
<button type="submit" class="btn btn-grad rounded-pill">Rechercher</button>
</span>
{{ form_end(form2) }}
<div class="converter-list">
<button id="list-button">
<i class="fa-solid fa-list"></i>
</button>
<button id="grid-button">
<i class="fa-solid fa-table-cells-large"></i>
</button>
</div>
{{ form_start(form, {'method': 'GET'}) }}
<div class="filterdiv">
{{ form_row(form.categorie) }}
{{ form_row(form.sousCategorie) }}
{{ form_row(form.p) }}
{{ form_row(form.tags) }}
<button type="submit" class="btn btn-grad rounded-pill">Filtrer</button>
</div>
{{ form_end(form) }}
</section>
<section>
<div class="results-filter">
<span>{{ pageCount }} écussons pour cette recherche</span>
</div>
<div class="row block grid-collection" id="content-collection">
{% for model in models %}
<div class="card">{% if model.photos is empty %}
<img src="/images/logo_ecusson_bleu_grand_format.png" class="img-fluid rounded- " alt="logo_ecusson_bleu_grand_format">
{% else %}
<img src="{{ model.photos[0].chemin }}" class="img-fluid rounded- " alt="">
{% endif %}
<h5>{{ model.titre }}</h5>
{% if 'ROLE_ADMIN' in app.user.roles %}
<span class="qty">x{{ model.nb > 10 ? model.nb : '0'~model.nb }}</span>
{% else %}
<br>
{% endif %}
<div class="card-body">
<ul>
<li class="title-category">Catégories :</li>
{% for categorie in model.categories %}
<li>
{{ categorie.nom }}
</li>
{% endfor %}
</ul>
</div>
<div class="bottom-card">
<a href="{{ path('app_model_show', {'id':model.id}) }}" class="link" >En savoir plus</a>
</div>
</div>
{% endfor %}
</div>
{{ knp_pagination_render(models) }}
</div>
</section>
{% endblock %}
{% block javascripts %}
{{ encore_entry_script_tags('app') }}
{# <script type="text/javascript">#}
{# let listButton = document.getElementById('list-button')#}
{# let gridButton = document.getElementById('grid-button')#}
{# let contentCollection = document.getElementById('content-collection')#}
{# gridButton.classList.add('active')#}
{# listButton.addEventListener('click', () => {#}
{# contentCollection.classList.remove('grid-collection')#}
{# contentCollection.classList.add('list-collection')#}
{# listButton.classList.add('active')#}
{# gridButton.classList.remove('active')#}
{# })#}
{# gridButton.addEventListener('click', () => {#}
{# contentCollection.classList.remove('list-collection');#}
{# contentCollection.classList.add('grid-collection');#}
{# gridButton.classList.add('active');#}
{# listButton.classList.remove('active')#}
{# })#}
{# $('.select2').select2();#}
{# </script>#}
<script type="text/javascript">
// Fonction pour ajouter ou mettre à jour un paramètre d'URL
function updateURLParameter(url, param, value) {
var re = new RegExp("([?&])" + param + "=.*?(&|$)", "i");
var separator = url.indexOf('?') !== -1 ? "&" : "?";
if (url.match(re)) {
return url.replace(re, '$1' + param + "=" + value + '$2');
} else {
return url + separator + param + "=" + value;
}
}
let listButton = document.getElementById('list-button')
let gridButton = document.getElementById('grid-button')
let contentCollection = document.getElementById('content-collection')
// Récupérer le mode actuel depuis l'URL
const currentMode = new URLSearchParams(window.location.search).get('view');
if (currentMode === 'list') {
// Si le mode actuel est "list", activer le bouton "list" et appliquer la classe CSS
contentCollection.classList.remove('grid-collection');
contentCollection.classList.add('list-collection');
listButton.classList.add('active');
gridButton.classList.remove('active');
} else {
// Par défaut, activer le bouton "grid"
gridButton.classList.add('active');
}
listButton.addEventListener('click', () => {
// Lorsque l'utilisateur clique sur le bouton "list", mettre à jour l'URL avec le mode "list"
window.location.href = updateURLParameter(window.location.href, 'view', 'list');
})
gridButton.addEventListener('click', () => {
// Lorsque l'utilisateur clique sur le bouton "grid", mettre à jour l'URL avec le mode "grid"
window.location.href = updateURLParameter(window.location.href, 'view', 'grid');
})
$('.select2').select2();
</script>
{% endblock %}