?AlkantarClanX12
| Current Path : /home/rankinh/saintgilleslesbains/wp-content/themes/pressville/ |
| Current File : /home/rankinh/saintgilleslesbains/wp-content/themes/pressville/footer.php |
</div>
</div>
<!-- CORE : end -->
<?php // Add custom code before Footer
do_action( 'lsvr_pressville_footer_before' ); ?>
<!-- FOOTER : begin -->
<footer id="footer"
<?php lsvr_pressville_the_footer_background_image(); ?>>
<?php lsvr_pressville_the_footer_overlay(); ?>
<div class="footer__inner">
<div class="lsvr-container">
<?php // Add custom code before footer widgets
do_action( 'lsvr_pressville_footer_widgets_before' ); ?>
<?php // Footer widgets
get_sidebar( 'footer-widgets' ); // Load sidebar-footer-widgets.php template ?>
<?php // Add custom code after footer widgets
do_action( 'lsvr_pressville_footer_widgets_after' ); ?>
<?php // Social links
get_template_part( 'template-parts/footer/social-links' ); ?>
<?php // Add custom code after footer social links
do_action( 'lsvr_pressville_footer_social_links_after' ); ?>
<?php // Footer text
get_template_part( 'template-parts/footer/text' ); ?>
<?php // Add custom code after footer text
do_action( 'lsvr_pressville_footer_text_after' ); ?>
</div>
</div>
</footer>
<!-- FOOTER : end -->
<?php // Back to top button
get_template_part( 'template-parts/footer/back-to-top-button' ); ?>
<?php // Add custom code at the bottom of wrapper
do_action( 'lsvr_pressville_wrapper_bottom' ); ?>
</div>
<!-- WRAPPER : end -->
<?php
echo do_shortcode("[sglb_weather_api]");
?>
<?php wp_footer(); ?>
<script>
document.addEventListener("DOMContentLoaded", () => {
if(document.querySelector(".contact-form-prestataire") && document.querySelector("span.post__contact-item-icon.post__contact-item-icon--email")){
const prestataire_email = document.querySelector("span.post__contact-item-icon.post__contact-item-icon--email ~ a")
const prestataire_email_field = document.querySelector('[name="prestataire-email"]')
prestataire_email_field.setAttribute("value", prestataire_email.textContent)
document.querySelector('[name="prestataire"]').setAttribute("value", window.location.href)
}
if(document.querySelector(".post__contact-item--show-phone-number")){
const phone_number_btn = document.querySelector(".post__contact-item--show-phone-number")
phone_number_btn.addEventListener("click", (e) => {
e.preventDefault()
e.target.classList.add("hide")
const {origin, pathname } = window.location
fetch(origin + `/wp-json/phone-number/click?url=${pathname}`)
.then(json => json.json())
.then(data => console.log(data))
.catch(err => console.error(err))
})
}
})
</script>
<script defer>
const danger_svg = `
<svg fill="#000000" height="800px" width="800px" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 336.919 336.919" xml:space="preserve">
<g>
<path d="M329.976,244.328L212.863,41.351c-9.266-16.058-25.864-25.645-44.403-25.645s-35.138,9.587-44.403,25.645
c-2.07,3.587-0.84,8.174,2.748,10.244c3.587,2.069,8.174,0.839,10.244-2.748c6.555-11.359,18.297-18.142,31.411-18.142
s24.856,6.782,31.411,18.141l117.113,202.977c6.551,11.354,6.548,24.909-0.008,36.26s-18.295,18.128-31.403,18.128H51.346
c-13.108,0-24.848-6.777-31.403-18.128s-6.559-24.906-0.008-36.26l93.534-162.109c2.07-3.587,0.84-8.174-2.748-10.244
c-3.59-2.072-8.175-0.84-10.244,2.748L6.943,244.328c-9.261,16.05-9.257,35.211,0.011,51.258
c9.267,16.046,25.862,25.626,44.393,25.626h234.227c18.53,0,35.126-9.58,44.393-25.626
C339.233,279.54,339.237,260.378,329.976,244.328z"/>
<path d="M195.149,102.302c-6.644-7.628-16.256-12.003-26.371-12.003h-0.637c-10.115,0-19.728,4.375-26.371,12.003
c-6.644,7.628-9.658,17.75-8.269,27.77l6.528,47.099c0.569,4.103,4.359,6.972,8.458,6.399c4.104-0.569,6.969-4.356,6.399-8.459
l-6.528-47.099c-0.793-5.722,0.928-11.502,4.723-15.859c3.794-4.356,9.283-6.854,15.06-6.854h0.637
c5.776,0,11.266,2.499,15.06,6.854c3.795,4.356,5.516,10.137,4.723,15.859l-10.979,79.21c-0.618,4.456-4.477,7.816-8.976,7.816
h-0.291c-4.499,0-8.357-3.36-8.976-7.816c-0.568-4.103-4.356-6.967-8.458-6.4c-4.104,0.569-6.968,4.355-6.399,8.458
c1.64,11.834,11.886,20.758,23.833,20.758h0.291c11.947,0,22.193-8.924,23.833-20.757l10.979-79.21
C204.807,120.052,201.792,109.93,195.149,102.302z"/>
<path d="M168.459,236.171c-13.664,0-24.78,11.116-24.78,24.78c0,13.664,11.116,24.78,24.78,24.78s24.78-11.116,24.78-24.78
C193.24,247.287,182.123,236.171,168.459,236.171z M168.459,270.731c-5.393,0-9.78-4.387-9.78-9.78c0-5.393,4.388-9.78,9.78-9.78
s9.78,4.387,9.78,9.78C178.24,266.344,173.852,270.731,168.459,270.731z"/>
</g>
</svg>
`
if(document.querySelector('[name="custom-destinataire"]') != null){
document.querySelector('[name="custom-destinataire"]').value = document.querySelector("li.post__contact-item.post__contact-item--email a").textContent
}
if(document.querySelector('[name="page-url"]') != null){
document.querySelector('[name="page-url"]').value = window.location.href
}
const searchGuideButton = document.querySelector("#searchGuideButton")
if(searchGuideButton != undefined){
function removeDuplicates(arr, key) {
const seen = new Set()
return arr.filter(item => {
const value = item[key]
if (!seen.has(value)) {
seen.add(value)
return true
}
return false
});
}
const searchGuideField = document.querySelector("#searchGuideField")
const guideSearchResultsGrid = document.querySelector("#guideSearchResults .post-archive__grid")
const guideSearchNoResults = document.querySelector("#guideSearchNoResults")
const guideSearchLoading = document.querySelector("#guideSearchLoading")
searchGuideButton.removeAttribute("disabled")
searchGuideField.removeAttribute("disabled")
const renderGuideLists = () => {
const searchGuideFieldValue = searchGuideField.value.toLowerCase()
let lists = []
guideSearchResultsGrid.innerHTML = ""
guideSearchNoResults.innerHTML = ""
guideSearchLoading.classList.remove("d-none")
const origin = window.location.origin
fetch(`${origin}/wp-json/guide-search/guides?guide_s=${searchGuideFieldValue}`)
.then(json => json.json())
.then(data => {
console.log(data)
if(data.err == null){
lists = removeDuplicates(data.results, "ID")
// lists = data.results
guideSearchResultsGrid.innerHTML = ""
guideSearchNoResults.innerHTML = ""
guideSearchLoading.classList.add("d-none")
lists.forEach(({categories, metas, post_title, post_name, post_img, post_url}) => {
let el_template = ""
let post_categories_html = ""
// console.log(categories)
if(categories == false) return
const has_post_img = post_img == false ? "" : 'has-guide-img'
const post_img_url = post_img == false ? "" : 'style="--guide-search-bg: url(' + post_img + ')"'
const post_adress = metas.lsvr_listing_address
categories.forEach(({name, slug}, index) => {
if(index > 0) post_categories_html += `<span class="post__terms-separator" aria-hidden="true">, </span>`
post_categories_html += `<a href="https://www.saintgilleslesbains.com/guide/${slug}" class="post__term-link">${name}</a>`
})
el_template += `
<article class="post lsvr_listing type-lsvr_listing">
<div class="post__inner">
<div class="post__bg ${has_post_img}" ${post_img_url}>
<div class="post__content">
<h2 class="post__title">
<a href="${post_url}" class="post__title-link" rel="bookmark">${post_title}</a>
</h2>
<p class="post__address">${post_adress}</p>
</div>
<p class="post__meta">
<span class="post__meta-item post__meta-item--category" title="Categorie">
<span class="post__terms post__terms--lsvr_listing_cat">${post_categories_html}</span>
</span>
</p>
<a href="${post_url}" class="post__overlay-link"></a>
</div>
</div>
</article>
`
guideSearchResultsGrid.insertAdjacentHTML('beforeend', el_template)
})
} else {
guideSearchLoading.classList.add("d-none")
let error_msg = ""
switch(data.err){
case "404":
error_msg = `
<div class="guide-search-no-results">
<span class="guide-search-no-results__icon">${danger_svg}</span>
<p>Désolé, nous n'avons trouvé aucun résultat correspondant à votre recherche. Il se peut que les termes que vous avez utilisés soient trop spécifiques ou qu'il n'existe actuellement aucune information disponible sur ce sujet. <span id="tooltip_no_results_toggler" class="icon-interface-question-mark" aria-hidden="true"></span></p>
</div>
`
error_msg += `
<div id="tooltip_no_results" class="d-none">
<p>Voici quelques suggestions pour vous aider à obtenir de meilleurs résultats :</p>
<p>Vérifiez l'orthographe : Assurez-vous que les mots que vous avez saisis sont correctement orthographiés.</p>
<p>Utilisez des synonymes : Essayez de reformuler votre recherche en utilisant des termes similaires ou des synonymes.</p>
<p>Élargissez votre recherche : Si vous avez utilisé des critères de recherche très spécifiques, essayez de les assouplir pour voir si vous pouvez trouver des informations plus générales sur le sujet.</p>
<p>Essayez une autre requête : Parfois, une simple modification de votre requête de recherche peut conduire à des résultats différents.</p>
</div>`
break;
}
const err_template = error_msg
guideSearchNoResults.insertAdjacentHTML('beforeend', err_template)
document.querySelector("#set_tooltip_no_results_toggler_event").addEventListener("click", () => {
document.querySelector("#tooltip_no_results").classList.remove("d-none")
})
}
})
}
let guideSearchTimeout = null
searchGuideField.addEventListener('keyup', ({target}) => {
clearTimeout(guideSearchTimeout)
if(target.value.length > 3){
guideSearchTimeout = setTimeout(function () {
renderGuideLists()
}, 1000)
}
})
searchGuideButton.addEventListener("click", (e) => {
e.preventDefault()
renderGuideLists()
})
}
</script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-7PP9QWX645"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-7PP9QWX645');
</script>
</body>
</html>