|
|
<!DOCTYPE html> |
|
|
<html lang="en"> |
|
|
<head> |
|
|
<meta charset="UTF-8" /> |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
|
|
<title>Biryani Hub Menu</title> |
|
|
<style> |
|
|
body { |
|
|
font-family: Arial, sans-serif; |
|
|
background-color: #f8f8f8; |
|
|
margin: 0; |
|
|
padding: 0; |
|
|
} |
|
|
.menu-container { |
|
|
max-width: 1200px; |
|
|
margin: 0 auto; |
|
|
padding: 20px; |
|
|
background-color: #4169E1; |
|
|
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); |
|
|
border-radius: 8px; |
|
|
margin-top: 50px; |
|
|
} |
|
|
h1 { |
|
|
text-align: center; |
|
|
font-size: 2.5rem; |
|
|
color: #87cefa; |
|
|
margin-bottom: 30px; |
|
|
} |
|
|
.menu-item { |
|
|
border-bottom: 1px solid #eee; |
|
|
padding: 15px 0; |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
align-items: center; |
|
|
} |
|
|
.order-btn { |
|
|
padding: 10px 20px; |
|
|
background-color: #4caf50; |
|
|
color: white; |
|
|
border: none; |
|
|
border-radius: 5px; |
|
|
cursor: pointer; |
|
|
} |
|
|
.order-btn:hover { |
|
|
background-color: #45a049; |
|
|
} |
|
|
#main-course-btn, |
|
|
#appetizer-btn { |
|
|
padding: 10px 20px; |
|
|
background-color: orange; |
|
|
color: white; |
|
|
border: none; |
|
|
border-radius: 5px; |
|
|
cursor: pointer; |
|
|
font-size: 2.2rem; |
|
|
margin: 10px 0; |
|
|
} |
|
|
#main-course-btn:hover, |
|
|
#appetizer-btn:hover { |
|
|
background-color: #ff7f00; |
|
|
} |
|
|
|
|
|
input, textarea { |
|
|
width: 100%; |
|
|
padding: 8px; |
|
|
margin: 5px 0 15px; |
|
|
border-radius: 4px; |
|
|
border: 1px solid #ccc; |
|
|
} |
|
|
</style> |
|
|
</head> |
|
|
<body> |
|
|
|
|
|
|
|
|
<div id="page1" class="menu-container"> |
|
|
<h1>Welcome to Biryani Hub Menu</h1> |
|
|
<h3 id="category-title">Please select a category:</h3> |
|
|
<button id="main-course-btn">Main Course</button> |
|
|
<button id="appetizer-btn">Appetizers</button> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div id="main-course-page" class="menu-container" style="display: none;"> |
|
|
<h1>Main Course Menu</h1> |
|
|
<div id="main-course-items"></div> |
|
|
<button id="back-to-category-btn" class="order-btn">Back to Category Selection</button> |
|
|
<button id="view-cart-btn1" class="order-btn">View Cart</button> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div id="appetizer-page" class="menu-container" style="display: none;"> |
|
|
<h1>Appetizers Menu</h1> |
|
|
<div id="appetizer-items"></div> |
|
|
<button id="back-to-category-btn2" class="order-btn">Back to Category Selection</button> |
|
|
<button id="view-cart-btn2" class="order-btn">View Cart</button> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div id="cart-page" class="menu-container" style="display: none;"> |
|
|
<h1>Your Cart</h1> |
|
|
<div id="cart-items"></div> |
|
|
<h3 id="cart-total"></h3> |
|
|
<button id="back-to-menu-btn" class="order-btn">Back to Menu</button> |
|
|
<button id="proceed-order-btn" class="order-btn">Place Order</button> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div id="order-page" class="menu-container" style="display: none;"> |
|
|
<h1>Place Your Order</h1> |
|
|
<form id="order-form"> |
|
|
<label for="customer-name">Name:</label> |
|
|
<input type="text" id="customer-name" required /> |
|
|
|
|
|
<label for="customer-email">Email:</label> |
|
|
<input type="email" id="customer-email" required /> |
|
|
|
|
|
<label for="customer-phone">Phone:</label> |
|
|
<input type="tel" id="customer-phone" required /> |
|
|
|
|
|
<label for="customer-address">Address:</label> |
|
|
<textarea id="customer-address" required></textarea> |
|
|
|
|
|
<button type="submit" class="order-btn">Submit Order</button> |
|
|
</form> |
|
|
<button id="back-to-cart-btn" class="order-btn">Back to Cart</button> |
|
|
</div> |
|
|
|
|
|
<script> |
|
|
|
|
|
const menuData = { |
|
|
'Main Course': [ |
|
|
{ name: "Chicken Biryani", price: 250 }, |
|
|
{ name: "Veg Biryani", price: 200 }, |
|
|
{ name: "Mutton Biryani", price: 300 } |
|
|
], |
|
|
'Appetizers': [ |
|
|
{ name: "Paneer Tikka", price: 180 }, |
|
|
{ name: "Chicken Wings", price: 220 } |
|
|
] |
|
|
}; |
|
|
|
|
|
let cart = []; |
|
|
|
|
|
const categoryPage = document.getElementById('page1'); |
|
|
const mainCoursePage = document.getElementById('main-course-page'); |
|
|
const appetizerPage = document.getElementById('appetizer-page'); |
|
|
const cartPage = document.getElementById('cart-page'); |
|
|
const orderPage = document.getElementById('order-page'); |
|
|
|
|
|
document.getElementById("main-course-btn").addEventListener("click", () => { |
|
|
categoryPage.style.display = "none"; |
|
|
mainCoursePage.style.display = "block"; |
|
|
displayMenuItems('Main Course'); |
|
|
}); |
|
|
document.getElementById("appetizer-btn").addEventListener("click", () => { |
|
|
categoryPage.style.display = "none"; |
|
|
appetizerPage.style.display = "block"; |
|
|
displayMenuItems('Appetizers'); |
|
|
}); |
|
|
|
|
|
document.getElementById("back-to-category-btn").addEventListener("click", () => { |
|
|
mainCoursePage.style.display = "none"; |
|
|
categoryPage.style.display = "block"; |
|
|
}); |
|
|
document.getElementById("back-to-category-btn2").addEventListener("click", () => { |
|
|
appetizerPage.style.display = "none"; |
|
|
categoryPage.style.display = "block"; |
|
|
}); |
|
|
|
|
|
document.getElementById("view-cart-btn1").addEventListener("click", () => { |
|
|
mainCoursePage.style.display = "none"; |
|
|
cartPage.style.display = "block"; |
|
|
displayCartItems(); |
|
|
}); |
|
|
document.getElementById("view-cart-btn2").addEventListener("click", () => { |
|
|
appetizerPage.style.display = "none"; |
|
|
cartPage.style.display = "block"; |
|
|
displayCartItems(); |
|
|
}); |
|
|
|
|
|
document.getElementById("back-to-menu-btn").addEventListener("click", () => { |
|
|
cartPage.style.display = "none"; |
|
|
categoryPage.style.display = "block"; |
|
|
}); |
|
|
document.getElementById("proceed-order-btn").addEventListener("click", () => { |
|
|
cartPage.style.display = "none"; |
|
|
orderPage.style.display = "block"; |
|
|
}); |
|
|
|
|
|
document.getElementById("back-to-cart-btn").addEventListener("click", () => { |
|
|
orderPage.style.display = "none"; |
|
|
cartPage.style.display = "block"; |
|
|
displayCartItems(); |
|
|
}); |
|
|
|
|
|
function displayMenuItems(category) { |
|
|
const menuContainer = category === 'Main Course' ? document.getElementById('main-course-items') : document.getElementById('appetizer-items'); |
|
|
menuContainer.innerHTML = ''; |
|
|
if (menuData[category]) { |
|
|
menuData[category].forEach(item => { |
|
|
const itemElement = document.createElement('div'); |
|
|
itemElement.classList.add('menu-item'); |
|
|
itemElement.innerHTML = ` |
|
|
<div class="details"> |
|
|
<h3>${item.name}</h3> |
|
|
<p class="price">Price: ₹${item.price}</p> |
|
|
</div> |
|
|
<button class="order-btn" onclick="addToCart('${item.name}', 1)">Order</button> |
|
|
`; |
|
|
menuContainer.appendChild(itemElement); |
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
function addToCart(itemName, quantity) { |
|
|
const item = findItem(itemName); |
|
|
if (item) { |
|
|
|
|
|
const cartItem = cart.find(ci => ci.name.toLowerCase() === itemName.toLowerCase()); |
|
|
if (cartItem) { |
|
|
cartItem.quantity += quantity; |
|
|
} else { |
|
|
cart.push({ name: item.name, price: item.price, quantity: quantity }); |
|
|
} |
|
|
alert(item.name + " added to cart!"); |
|
|
} |
|
|
} |
|
|
|
|
|
function findItem(itemName) { |
|
|
let item = menuData['Main Course'].find(item => item.name.toLowerCase() === itemName.toLowerCase()); |
|
|
if (!item) { |
|
|
item = menuData['Appetizers'].find(item => item.name.toLowerCase() === itemName.toLowerCase()); |
|
|
} |
|
|
return item; |
|
|
} |
|
|
|
|
|
function displayCartItems() { |
|
|
const cartItemsContainer = document.getElementById('cart-items'); |
|
|
cartItemsContainer.innerHTML = ''; |
|
|
let total = 0; |
|
|
if (cart.length === 0) { |
|
|
cartItemsContainer.innerHTML = "<p>Your cart is empty.</p>"; |
|
|
} else { |
|
|
cart.forEach(item => { |
|
|
const itemDiv = document.createElement('div'); |
|
|
itemDiv.classList.add('menu-item'); |
|
|
itemDiv.innerHTML = ` |
|
|
<div class="details"> |
|
|
<h3>${item.name}</h3> |
|
|
<p>Price: ₹${item.price} x ${item.quantity}</p> |
|
|
</div> |
|
|
`; |
|
|
cartItemsContainer.appendChild(itemDiv); |
|
|
total += item.price * item.quantity; |
|
|
}); |
|
|
} |
|
|
document.getElementById('cart-total').innerText = "Total: ₹" + total; |
|
|
} |
|
|
|
|
|
const recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)(); |
|
|
recognition.lang = "en-US"; |
|
|
recognition.interimResults = false; |
|
|
function speak(text) { |
|
|
const msg = new SpeechSynthesisUtterance(text); |
|
|
window.speechSynthesis.speak(msg); |
|
|
} |
|
|
window.onload = function() { |
|
|
speak("Welcome to Biryani Hub! We have the following categories: Main Course and Appetizers. Please say 'Main Course' or 'Appetizers' to select a category."); |
|
|
recognition.start(); |
|
|
recognition.onresult = (event) => { |
|
|
const categoryCommand = event.results[0][0].transcript.toLowerCase(); |
|
|
if (categoryCommand.includes("main course")) { |
|
|
displayMenuItems('Main Course'); |
|
|
mainCoursePage.style.display = "block"; |
|
|
categoryPage.style.display = "none"; |
|
|
} else if (categoryCommand.includes("appetizers")) { |
|
|
displayMenuItems('Appetizers'); |
|
|
appetizerPage.style.display = "block"; |
|
|
categoryPage.style.display = "none"; |
|
|
} else { |
|
|
speak("Sorry, I couldn't understand that. Please say 'Main Course' or 'Appetizers'."); |
|
|
} |
|
|
}; |
|
|
}; |
|
|
|
|
|
document.getElementById("order-form").addEventListener("submit", function(e) { |
|
|
e.preventDefault(); |
|
|
|
|
|
const customerName = document.getElementById("customer-name").value; |
|
|
const customerEmail = document.getElementById("customer-email").value; |
|
|
const customerPhone = document.getElementById("customer-phone").value; |
|
|
const customerAddress = document.getElementById("customer-address").value; |
|
|
|
|
|
let total = 0; |
|
|
cart.forEach(item => { |
|
|
total += item.price * item.quantity; |
|
|
}); |
|
|
|
|
|
const orderDetails = { |
|
|
customerName, |
|
|
customerEmail, |
|
|
customerPhone, |
|
|
customerAddress, |
|
|
items: cart, |
|
|
totalAmount: total |
|
|
}; |
|
|
|
|
|
|
|
|
fetch('https://your-salesforce-endpoint.com/api/orders', { |
|
|
method: 'POST', |
|
|
headers: { |
|
|
'Content-Type': 'application/json' |
|
|
|
|
|
}, |
|
|
body: JSON.stringify(orderDetails) |
|
|
}) |
|
|
.then(response => response.json()) |
|
|
.then(data => { |
|
|
alert("Order placed successfully! Order ID: " + data.orderId); |
|
|
|
|
|
cart = []; |
|
|
|
|
|
orderPage.style.display = "none"; |
|
|
categoryPage.style.display = "block"; |
|
|
}) |
|
|
.catch(error => { |
|
|
console.error("Error placing order:", error); |
|
|
alert("There was an error placing your order. Please try again."); |
|
|
}); |
|
|
}); |
|
|
</script> |
|
|
|
|
|
</body> |
|
|
</html> |
|
|
|