Update templates/menu_page.html
Browse files- templates/menu_page.html +48 -39
templates/menu_page.html
CHANGED
@@ -29,44 +29,42 @@
|
|
29 |
<div class="cart-container" id="cart-container" style="display:none;">
|
30 |
<h2>Your Cart</h2>
|
31 |
<div id="cart-items"></div>
|
|
|
32 |
</div>
|
33 |
|
34 |
-
|
35 |
-
const menuItems =
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
|
71 |
const cart = [];
|
72 |
|
@@ -112,11 +110,10 @@
|
|
112 |
|
113 |
// Function to add items to the cart
|
114 |
function addToCart(itemName) {
|
115 |
-
|
116 |
if (quantity && !isNaN(quantity) && quantity > 0) {
|
117 |
-
quantity = parseInt(quantity);
|
118 |
const item = menuItems.veg.concat(menuItems.nonVeg).find(item => item.name === itemName);
|
119 |
-
const cartItem = { ...item, quantity };
|
120 |
cart.push(cartItem);
|
121 |
speak(`${quantity} of ${itemName} added to your cart.`);
|
122 |
} else {
|
@@ -138,6 +135,18 @@
|
|
138 |
cartContainer.style.display = 'block';
|
139 |
}
|
140 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
// Speech recognition for handling the customer’s choice
|
142 |
recognition.onresult = (event) => {
|
143 |
const command = event.results[0][0].transcript.toLowerCase();
|
|
|
29 |
<div class="cart-container" id="cart-container" style="display:none;">
|
30 |
<h2>Your Cart</h2>
|
31 |
<div id="cart-items"></div>
|
32 |
+
<button onclick="placeOrder()">Place Final Order</button>
|
33 |
</div>
|
34 |
|
35 |
+
<script>
|
36 |
+
const menuItems = {
|
37 |
+
veg: [
|
38 |
+
{ name: 'Samosa', price: 9, ingredients: 'Potatoes, Peas, Flour, Spices', description: 'Crispy fried pastry filled with spiced potatoes and peas.', imageUrl: 'https://via.placeholder.com/100' },
|
39 |
+
{ name: 'Onion Pakoda', price: 10, ingredients: 'Onions, Gram Flour, Spices', description: 'Deep-fried onion fritters seasoned with herbs and spices.', imageUrl: 'https://via.placeholder.com/100' },
|
40 |
+
{ name: 'Chilli Gobi', price: 12, ingredients: 'Cauliflower, Chili Sauce, Spices', description: 'Cauliflower florets tossed in a spicy chili sauce.', imageUrl: 'https://via.placeholder.com/100' },
|
41 |
+
{ name: 'Paneer Butter Masala', price: 13, ingredients: 'Paneer, Tomato, Butter, Spices', description: 'Soft paneer cubes in a creamy, flavorful gravy.', imageUrl: 'https://via.placeholder.com/100' },
|
42 |
+
{ name: 'Aloo Gobi', price: 10, ingredients: 'Potatoes, Cauliflower, Spices', description: 'A traditional Indian curry with potatoes and cauliflower.', imageUrl: 'https://via.placeholder.com/100' },
|
43 |
+
{ name: 'Vegetable Biryani', price: 15, ingredients: 'Basmati Rice, Mixed Vegetables, Spices', description: 'Aromatic rice cooked with seasonal vegetables and spices.', imageUrl: 'https://via.placeholder.com/100' },
|
44 |
+
{ name: 'Palak Paneer', price: 14, ingredients: 'Spinach, Paneer, Spices', description: 'Spinach and cottage cheese cooked with mild spices.', imageUrl: 'https://via.placeholder.com/100' },
|
45 |
+
{ name: 'Dal Tadka', price: 8, ingredients: 'Yellow Lentils, Garlic, Ginger, Spices', description: 'Lentils cooked with spices and topped with tempering.', imageUrl: 'https://via.placeholder.com/100' },
|
46 |
+
{ name: 'Veg Manchurian', price: 11, ingredients: 'Vegetables, Soy Sauce, Spices', description: 'Crispy vegetable balls served in a spicy Chinese sauce.', imageUrl: 'https://via.placeholder.com/100' },
|
47 |
+
{ name: 'Gulab Jamun', price: 5, ingredients: 'Milk Powder, Sugar, Cardamom', description: 'Deep-fried dough balls soaked in sugary syrup.', imageUrl: 'https://via.placeholder.com/100' },
|
48 |
+
{ name: 'Rasgulla', price: 6, ingredients: 'Chhena, Sugar, Rose Water', description: 'Soft, spongy balls made from chhena and soaked in syrup.', imageUrl: 'https://via.placeholder.com/100' },
|
49 |
+
{ name: 'Kulfi', price: 7, ingredients: 'Milk, Sugar, Cardamom, Pistachios', description: 'Traditional Indian ice cream flavored with cardamom and pistachios.', imageUrl: 'https://via.placeholder.com/100' },
|
50 |
+
{ name: 'Mango Lassi', price: 6, ingredients: 'Mango, Yogurt, Sugar', description: 'A sweet and tangy mango yogurt drink.', imageUrl: 'https://via.placeholder.com/100' },
|
51 |
+
{ name: 'Sweet Lime Soda', price: 4, ingredients: 'Lime, Soda, Sugar', description: 'A refreshing drink made with lime and soda.', imageUrl: 'https://via.placeholder.com/100' },
|
52 |
+
{ name: 'Masala Chai', price: 3, ingredients: 'Tea, Milk, Spices', description: 'Spiced Indian tea served hot with milk.', imageUrl: 'https://via.placeholder.com/100' },
|
53 |
+
{ name: 'Coconut Water', price: 5, ingredients: 'Coconut Water', description: 'Fresh coconut water served chilled.', imageUrl: 'https://via.placeholder.com/100' }
|
54 |
+
],
|
55 |
+
|
56 |
+
nonVeg: [
|
57 |
+
{ name: 'Chicken Biryani', price: 14, ingredients: 'Chicken, Basmati Rice, Spices', description: 'Aromatic basmati rice cooked with tender chicken and spices.', imageUrl: 'https://via.placeholder.com/100' },
|
58 |
+
{ name: 'Mutton Biryani', price: 16, ingredients: 'Mutton, Basmati Rice, Spices', description: 'Flavorful rice dish made with succulent mutton and aromatic spices.', imageUrl: 'https://via.placeholder.com/100' },
|
59 |
+
{ name: 'Fish Curry', price: 18, ingredients: 'Fish, Spices, Coconut Milk', description: 'Delicious fish curry made with fresh fish and coconut milk.', imageUrl: 'https://via.placeholder.com/100' },
|
60 |
+
{ name: 'Butter Chicken', price: 15, ingredients: 'Chicken, Tomato, Butter, Cream', description: 'Tender chicken cooked in a rich, creamy tomato sauce.', imageUrl: 'https://via.placeholder.com/100' },
|
61 |
+
{ name: 'Chicken Tikka', price: 12, ingredients: 'Chicken, Yogurt, Spices', description: 'Grilled chicken marinated in yogurt and spices.', imageUrl: 'https://via.placeholder.com/100' },
|
62 |
+
{ name: 'Lamb Korma', price: 17, ingredients: 'Lamb, Cream, Spices', description: 'Lamb cooked in a rich, creamy gravy with a blend of aromatic spices.', imageUrl: 'https://via.placeholder.com/100' },
|
63 |
+
{ name: 'Prawn Masala', price: 20, ingredients: 'Prawns, Spices, Tomatoes', description: 'Juicy prawns cooked in a flavorful, spicy masala.', imageUrl: 'https://via.placeholder.com/100' },
|
64 |
+
{ name: 'Chicken Shawarma', price: 13, ingredients: 'Chicken, Garlic, Spices', description: 'Grilled chicken served in a flatbread with garlic sauce.', imageUrl: 'https://via.placeholder.com/100' },
|
65 |
+
{ name: 'Egg Curry', price: 9, ingredients: 'Eggs, Spices, Tomatoes', description: 'Hard-boiled eggs cooked in a spicy curry.', imageUrl: 'https://via.placeholder.com/100' }
|
66 |
+
]
|
67 |
+
};
|
|
|
|
|
|
|
68 |
|
69 |
const cart = [];
|
70 |
|
|
|
110 |
|
111 |
// Function to add items to the cart
|
112 |
function addToCart(itemName) {
|
113 |
+
const quantity = prompt(`How many ${itemName} would you like to add?`, 1);
|
114 |
if (quantity && !isNaN(quantity) && quantity > 0) {
|
|
|
115 |
const item = menuItems.veg.concat(menuItems.nonVeg).find(item => item.name === itemName);
|
116 |
+
const cartItem = { ...item, quantity: parseInt(quantity) };
|
117 |
cart.push(cartItem);
|
118 |
speak(`${quantity} of ${itemName} added to your cart.`);
|
119 |
} else {
|
|
|
135 |
cartContainer.style.display = 'block';
|
136 |
}
|
137 |
|
138 |
+
// Function to place the final order
|
139 |
+
function placeOrder() {
|
140 |
+
if (cart.length > 0) {
|
141 |
+
speak("Your order has been placed successfully.", () => {
|
142 |
+
cart.length = 0; // Clear the cart after placing the order
|
143 |
+
viewCart(); // Optionally, update cart view
|
144 |
+
});
|
145 |
+
} else {
|
146 |
+
speak("Your cart is empty. Please add items before placing the order.");
|
147 |
+
}
|
148 |
+
}
|
149 |
+
|
150 |
// Speech recognition for handling the customer’s choice
|
151 |
recognition.onresult = (event) => {
|
152 |
const command = event.results[0][0].transcript.toLowerCase();
|