FEATURE Handling Reset all artisans buttons

This commit is contained in:
Nonimart 2025-06-13 16:03:43 +02:00
parent 9e14ec6ee7
commit 5e24ce4c88
3 changed files with 25 additions and 1 deletions

View File

@ -20,6 +20,9 @@
p { p {
@apply text-neutral-900 tracking-wide; @apply text-neutral-900 tracking-wide;
} }
#reset-all-artisans-button {
@apply mt-4 mx-auto;
}
} }
} }
.card-artisans { .card-artisans {

View File

@ -36,6 +36,24 @@ function observeSearchResetButton() {
} }
}); });
} }
function observeResetAllArtisansButton() {
const resetAllArtisansButton = document.querySelector('#reset-all-artisans-button');
resetAllArtisansButton.addEventListener('click', () => {
resetSearchfield();
hydrateWithAllArtisans({});
});
}
function observeNoResultsApparition() {
const grid = document.querySelector('.artisans-posts__grid');
const observer = new MutationObserver(() => {
const noResults = grid.querySelector('.no-results');
if (!noResults) return;
observeResetAllArtisansButton();
});
observer.observe(grid, { childList: true, subtree: true });
}
function clearAllCheckboxes() { function clearAllCheckboxes() {
const filtersCheckboxes = document.querySelectorAll('.taxonomy-checkbox'); const filtersCheckboxes = document.querySelectorAll('.taxonomy-checkbox');
@ -219,7 +237,7 @@ export default function dynamicSearch() {
}); });
const searchForm = document.querySelector('.artisan-search-bar'); const searchForm = document.querySelector('.artisan-search-bar');
searchForm.addEventListener('submit', handleSearchSubmit); searchForm.addEventListener('submit', handleSearchSubmit);
observeSearchResetButton(); observeSearchResetButton();
observeNoResultsApparition(); // Si la div no-results apparait, on observe le bouton reset all artisans pour gérer son comortement
} }

View File

@ -5,4 +5,7 @@
<img class='no-results__cover' src="<?php echo get_stylesheet_directory_uri() . "/resources/img/illustrations/Homegrade_resultats-filtres-cactus.svg" ?>" alt='' /> <img class='no-results__cover' src="<?php echo get_stylesheet_directory_uri() . "/resources/img/illustrations/Homegrade_resultats-filtres-cactus.svg" ?>" alt='' />
<h3><?php echo __("Aucun artisan correspondant actuellement", "metiers-patrimoine-theme") ?> </h3> <h3><?php echo __("Aucun artisan correspondant actuellement", "metiers-patrimoine-theme") ?> </h3>
<p> <?php echo __("Sélectionnez un ou plusieurs <span class='highlighted-purple'>métiers</span> ou <span class='highlighted-purple'>critères</span> pour lancer votre recherche", "metiers-patrimoine-theme") ?></p> <p> <?php echo __("Sélectionnez un ou plusieurs <span class='highlighted-purple'>métiers</span> ou <span class='highlighted-purple'>critères</span> pour lancer votre recherche", "metiers-patrimoine-theme") ?></p>
<button class="cta cta--primary cta--rounded" id="reset-all-artisans-button">
<?php echo __("Voir tous les artisans", "metiers-patrimoine-theme") ?>
</button>
</div> </div>