templates/fronts/list_projets.html.twig line 1
{% extends 'base_front.html.twig' %}{% block title %}Hello DefaultController!{% endblock %}{% block body %}<!-- Content ============================================= --><section id="content"><div class="col-mt-30"><div class="research-structures-section py-5"><div class="container"><!-- Titre --><h2 class="section-title text-center mb-5">Nos Projets</h2><!-- Filtres améliorés --><div class="filter-container mb-5"><form id="filterForm" class="filter-form"><div class="row g-3"><div class="col-md-6"><div class="filter-group"><label for="filterStructure" class="filter-label">Structures</label><select name="filterStructure" id="filterStructure" class="form-select filter-select"><option value="">Toutes les structures</option>{% for structure in structures %}<option value="{{ structure.id }}">{{ structure.nomLong }}</option>{% endfor %}</select></div></div><div class="col-md-6"><div class="filter-group"><label for="filterNom" class="filter-label">Nom du projet</label><div class="input-with-icon"><input type="text" id="filterNom" class="form-control" placeholder="Rechercher par nom"><i class="fas fa-search"></i></div></div></div></div></form></div><!-- Cartes des structures --><div id="structureLaboContainer" class="row g-4">{% for projet in projets %}<div class="col-lg-4 col-md-6 mb-4 projet-card" data-structure="{{ projet.structure.id }} "data-projet="{{ projet.nom }}"><a href="{{ path('app_projet_details', {'id': projet.id}) }}"><div class="structure-card-inner"><div class="card-image">{% if projet.image is not null %}<img src="/upload/projets/{{ projet.image }}" alt="{{ projet.nom }}" class="img-fluid"style="width: 180px; height: 180px;">{% else %}<img src="/front/icons/projet.png" alt="{{ projet.image }}" class="img-fluid"style="width: 180px; height: 180px;">{% endif %}</div><div class="card-content"><h3 class="card-title">{{ projet.nom }}</h3><div class="card-footer"><span class="institution">{{ projet.structure ? projet.structure.nomLong : '' }}</span><span class="view-more">Voir plus <i class="fas fa-arrow-right"></i></span></div></div></div></a></div>{% endfor %}<!-- ... --></div></div></div></div></section><!-- #content end --><script>document.addEventListener('DOMContentLoaded', function() {const filterForm = document.getElementById('filterForm');const structureCards = document.querySelectorAll('.projet-card');function filterStructures() {const filterStructure = document.getElementById('filterStructure').value;const filterNom = document.getElementById('filterNom').value.toLowerCase();structureCards.forEach(card => {const structure = card.getAttribute('data-structure');const nom = card.getAttribute('data-projet').toLowerCase();let isVisible = true;if (filterStructure && structure !== filterStructure) {isVisible = false;}if (filterNom && !nom.includes(filterNom)) {isVisible = false;}card.style.display = isVisible ? 'block' : 'none';});}filterForm.addEventListener('change', filterStructures);});</script>{% endblock %}