?AlkantarClanX12

Your IP : 216.73.217.134


Current Path : /home/rankinh/saintgilleslesbains/wp-content/themes/pressville/
Upload File :
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>