Spaces:
Running
Running
| let currentIndex = 0, | |
| menu = document.querySelector(".menu-icon"), | |
| navbar = document.querySelector(".navbar"), | |
| bag = document.getElementById("bill"), | |
| listProductBill = [], | |
| checkTakeAWay = false; | |
| // JavaScript for automatic slide change | |
| const slides = document.querySelectorAll(".swiper-slide"); | |
| function showSlide1(index) { | |
| slides.forEach((slide, i) => { | |
| slide.style.display = i === index ? "block" : "none"; | |
| }); | |
| } | |
| function nextSlide() { | |
| currentIndex = (currentIndex + 1) % slides.length; | |
| showSlide1(currentIndex); | |
| } | |
| setInterval(nextSlide, 3000); | |
| showSlide1(currentIndex); | |
| // Menu open and close | |
| menu.onclick = () => { | |
| menu.classList.toggle("move"); | |
| navbar.classList.toggle("open-menu"); | |
| }; | |
| // Close menu | |
| window.onscroll = () => { | |
| menu.classList.remove("move"); | |
| navbar.classList.remove("open-menu"); | |
| }; | |
| // Open Menu Products | |
| function goToShoppingPage() { | |
| window.location.href = "Products.html"; | |
| } | |
| function goToHomePage() { | |
| window.location.href = "mainCoffee.html"; | |
| } | |
| function MenuToTakeAWay() { | |
| goToShoppingPage(); | |
| checkTakeAWay = true; | |
| } | |
| function displayBill() { | |
| if (bag !== null) { | |
| if (bag.style.width === "0%") { | |
| bag.style.width = "20%"; | |
| } else { | |
| bag.style.width = "0%"; | |
| } | |
| } else { | |
| console.error("Element with ID 'bill' not found."); | |
| } | |
| } | |
| // add products with name, images and price to the cart, display cart in the right | |
| // Function to handle click on the heart icon | |
| function handleHeartClick(event) { | |
| // Navigate up to the parent product-box element | |
| let productBox = event.target.closest(".product-box"); | |
| if (productBox !== null) { | |
| // Get specific information from product-box | |
| let productName = productBox.querySelector("h2").textContent.trim(); | |
| let priceRange = productBox | |
| .querySelector(".product-info span") | |
| .textContent.trim(); | |
| let imageUrl = productBox.querySelector("img").src; | |
| let existingProduct = listProductBill.find( | |
| (product) => product.name === productName | |
| ); | |
| if (existingProduct) { | |
| // If product exists, increment the quantity | |
| existingProduct.quantity++; | |
| } else { | |
| // Create an object with the extracted information | |
| let productInfo = { | |
| name: productName, | |
| price: priceRange, | |
| image: imageUrl, | |
| quantity: 1, | |
| }; | |
| // Push the information to the list | |
| listProductBill.push(productInfo); | |
| } | |
| // Display the list in the console | |
| console.log(listProductBill); | |
| } else { | |
| console.log("Product information not found!"); | |
| } | |
| renderListProduct(); | |
| } | |
| // Attach click event listener to all heart icons with class "bx-shopping-bag" | |
| let heartIcons = document.querySelectorAll(".bx-shopping-bag"); | |
| heartIcons.forEach((icon) => { | |
| icon.addEventListener("click", handleHeartClick); | |
| }); | |
| // Delete products in bill | |
| function removeProduct(productName) { | |
| const shouldDelete = window.confirm( | |
| `Do you want to remove "${productName}" from the list?` | |
| ); | |
| if (shouldDelete) { | |
| const indexToRemove = listProductBill.findIndex( | |
| (product) => product.name === productName | |
| ); | |
| if (indexToRemove !== -1) { | |
| listProductBill.splice(indexToRemove, 1); | |
| renderListProduct(); | |
| } else { | |
| alert(`Product not found: ${productName}`); | |
| } | |
| } | |
| } | |
| // Total price and ask customer with cash or credit cards | |
| function showHiddenTag() { | |
| var hiddenTag = document.getElementById("hiddenTag"); | |
| document.getElementById("thankyou").style.width = "20%"; | |
| if (checkTakeAWay === true) { | |
| hiddenTag.innerHTML = `<h1>Thank you so much!</h1> | |
| <h3>Your items will be there in a few minutes!</h3> | |
| <h1>$ ${totalBill}</h1>`; | |
| } else { | |
| hiddenTag.innerHTML = `<h1>Wish you a good appetite!</h1> | |
| <h3>Your items will be there in a few minutes!</h3> | |
| <h1>$ ${totalBill}</h1>`; | |
| } | |
| setTimeout(function () { | |
| document.getElementById("thankyou").style.width = "0%"; | |
| }, 5000); | |
| displayBill(); | |
| listProductBill = []; | |
| renderListProduct(); | |
| checkTakeAWay = false; | |
| } | |
| function CheckBook() { | |
| let number = document.getElementById("booknumber").value; | |
| let name = document.getElementById("bookname").value; | |
| alert( | |
| `Hi ${name}, We will contact you via this number ${number} as soon as possible!` | |
| ); | |
| // Reset input values | |
| document.getElementById("booknumber").value = ""; | |
| document.getElementById("bookname").value = ""; | |
| } | |