document.addEventListener("DOMContentLoaded", function () { function updateCartCount() { fetch('/cart.js') .then(response => response.json()) .then(cart => { let cartCount = cart.item_count; let cartCountElement = document.querySelector('.cart-count'); if (cartCountElement) { cartCountElement.textContent = cartCount; cartCountElement.style.display = cartCount > 0 ? "inline-block" : "none"; // Cache si panier vide } }) .catch(error => console.error("Erreur lors de la mise à jour du panier :", error)); } document.body.addEventListener("click", function (event) { let addToCartButton = event.target.closest('form[action*="/cart/add"] button[type="submit"]'); if (addToCartButton) { event.preventDefault(); // Empêche le comportement par défaut let form = addToCartButton.closest('form'); let formData = new FormData(form); fetch('/cart/add.js', { method: 'POST', body: formData }) .then(response => response.json()) .then(data => { console.log("Produit ajouté :", data); // Affichage du message de confirmation let message = document.createElement("div"); message.textContent = "✅ Produit ajouté au panier !"; message.style.position = "fixed"; message.style.bottom = "20px"; message.style.right = "20px"; message.style.background = "#000"; message.style.color = "#fff"; message.style.padding = "10px 20px"; message.style.borderRadius = "5px"; message.style.zIndex = "1000"; document.body.appendChild(message); setTimeout(() => message.remove(), 3000); // Disparaît après 3 secondes // Mise à jour du compteur du panier updateCartCount(); }) .catch(error => console.error("Erreur lors de l'ajout au panier :", error)); } }); // Mise à jour initiale du panier au chargement de la page updateCartCount(); });