Subbu1304 commited on
Commit
8fe54fa
·
verified ·
1 Parent(s): e352d80

Update templates/menu.html

Browse files
Files changed (1) hide show
  1. templates/menu.html +70 -83
templates/menu.html CHANGED
@@ -1144,7 +1144,9 @@ document.addEventListener('DOMContentLoaded', function () {
1144
  });
1145
  });
1146
 
1147
- // Function to add Soft Drink to cart directly
 
 
1148
  // function addSoftDrinkToCart(name, price, image, section, category, index) {
1149
  // const itemPrice = parseFloat(price);
1150
  // const quantity = 1; // Default quantity
@@ -1173,7 +1175,7 @@ document.addEventListener('DOMContentLoaded', function () {
1173
  // // Hide the ADD button and show quantity controls
1174
  // document.getElementById(`add-btn-${index}`).style.display = 'none';
1175
  // document.getElementById(`quantity-control-${index}`).style.display = 'flex';
1176
- // updateCartUI(data.cart);
1177
  // alert('Soft Drink added to cart successfully!');
1178
  // } else {
1179
  // alert(data.error || 'Failed to add Soft Drink to cart.');
@@ -1184,7 +1186,8 @@ document.addEventListener('DOMContentLoaded', function () {
1184
  // alert('An error occurred while adding the Soft Drink to the cart.');
1185
  // });
1186
  // }
1187
- // subbu###################
 
1188
  function addSoftDrinkToCart(name, price, image, section, category, index) {
1189
  const itemPrice = parseFloat(price);
1190
  const quantity = 1; // Default quantity
@@ -1200,6 +1203,7 @@ function addSoftDrinkToCart(name, price, image, section, category, index) {
1200
  quantity: quantity
1201
  };
1202
 
 
1203
  fetch('/cart/add', {
1204
  method: 'POST',
1205
  headers: {
@@ -1213,7 +1217,7 @@ function addSoftDrinkToCart(name, price, image, section, category, index) {
1213
  // Hide the ADD button and show quantity controls
1214
  document.getElementById(`add-btn-${index}`).style.display = 'none';
1215
  document.getElementById(`quantity-control-${index}`).style.display = 'flex';
1216
- updateCartQuantity(data.cart);
1217
  alert('Soft Drink added to cart successfully!');
1218
  } else {
1219
  alert(data.error || 'Failed to add Soft Drink to cart.');
@@ -1224,50 +1228,50 @@ function addSoftDrinkToCart(name, price, image, section, category, index) {
1224
  alert('An error occurred while adding the Soft Drink to the cart.');
1225
  });
1226
  }
1227
-
1228
-
1229
  // subbu###################
1230
 
1231
 
1232
 
1233
 
1234
- // Function to increase quantity
1235
  // function increaseQuantity(name, index) {
1236
  // let quantityElement = document.getElementById(`quantity-${index}`);
1237
  // let currentQuantity = parseInt(quantityElement.innerText);
1238
- // currentQuantity++;
1239
  // quantityElement.innerText = currentQuantity;
1240
 
 
1241
  // updateCartQuantity(name, currentQuantity);
1242
  // }
1243
- function increaseQuantity(name, index) {
1244
  let quantityElement = document.getElementById(`quantity-${index}`);
1245
  let currentQuantity = parseInt(quantityElement.innerText);
1246
  currentQuantity++; // Increase the quantity by 1
1247
  quantityElement.innerText = currentQuantity;
1248
 
1249
- // Update cart immediately
1250
  updateCartQuantity(name, currentQuantity);
1251
  }
1252
 
1253
-
1254
 
1255
- // Function to decrease quantity
1256
  // function decreaseQuantity(name, index) {
1257
  // let quantityElement = document.getElementById(`quantity-${index}`);
1258
  // let currentQuantity = parseInt(quantityElement.innerText);
 
1259
  // if (currentQuantity > 1) {
1260
  // currentQuantity--;
1261
  // quantityElement.innerText = currentQuantity;
 
1262
  // updateCartQuantity(name, currentQuantity);
1263
  // } else {
1264
- // // Remove from cart and revert to ADD button
1265
  // removeFromCart(name, index);
 
 
1266
  // }
1267
  // }
1268
-
1269
-
1270
- function decreaseQuantity(name, index) {
1271
  let quantityElement = document.getElementById(`quantity-${index}`);
1272
  let currentQuantity = parseInt(quantityElement.innerText);
1273
 
@@ -1277,7 +1281,7 @@ function decreaseQuantity(name, index) {
1277
  // Update cart immediately
1278
  updateCartQuantity(name, currentQuantity);
1279
  } else {
1280
- // Remove from cart if quantity is 1 and show the "Add" button
1281
  removeFromCart(name, index);
1282
  document.getElementById(`add-btn-${index}`).style.display = 'block'; // Show ADD button
1283
  document.getElementById(`quantity-control-${index}`).style.display = 'none'; // Hide quantity controls
@@ -1286,85 +1290,68 @@ function decreaseQuantity(name, index) {
1286
 
1287
 
1288
 
1289
-
1290
-
1291
-
1292
- // Existing updateCartUI function (unchanged, but included for reference)
1293
- // function updateCartUI(cart) {
1294
  // if (!Array.isArray(cart)) {
1295
  // console.error('Invalid cart data:', cart);
1296
  // return;
1297
  // }
1298
  // const cartIcon = document.getElementById('cart-icon');
1299
- // if (cartIcon) {
1300
- // cartIcon.innerText = cart.length; // Update cart icon if it exists
1301
- // }
1302
  // }
1303
- // function updateCartUI(cartData) {
1304
- // // Assuming cartData is an array of cart items
1305
- // const cartItemsContainer = document.getElementById('cart-items'); // The container where cart items are listed
1306
- // const cartTotalPrice = document.getElementById('cart-total-price'); // The element where total price is displayed
1307
- // const cartTotalQuantity = document.getElementById('cart-total-quantity'); // The element where total quantity is displayed
1308
-
1309
- // // Clear current cart items in the UI
1310
- // cartItemsContainer.innerHTML = '';
1311
-
1312
- // let totalPrice = 0;
1313
- // let totalQuantity = 0;
1314
-
1315
- // // Loop through cartData to update UI
1316
- // cartData.forEach(item => {
1317
- // const itemRow = document.createElement('div');
1318
- // itemRow.classList.add('cart-item');
1319
-
1320
- // itemRow.innerHTML = `
1321
- // <div class="cart-item-details">
1322
- // <img src="${item.itemImage}" alt="${item.itemName}" class="cart-item-img">
1323
- // <span class="cart-item-name">${item.itemName}</span>
1324
- // <span class="cart-item-price">$${item.itemPrice.toFixed(2)}</span>
1325
- // <span class="cart-item-quantity">Qty: ${item.quantity}</span>
1326
- // </div>
1327
- // `
1328
-
1329
- // cartItemsContainer.appendChild(itemRow);
1330
-
1331
- // // Update the total price and quantity
1332
- // totalPrice += item.itemPrice * item.quantity;
1333
- // totalQuantity += item.quantity;
1334
- // });
1335
-
1336
- // // Update the total price and quantity in the UI
1337
- // cartTotalPrice.innerText = `Total: $${totalPrice.toFixed(2)}`;
1338
- // cartTotalQuantity.innerText = `Items: ${totalQuantity}`;
 
 
 
 
1339
  // }
1340
-
1341
-
1342
- // Function to update cart quantity
1343
- function updateCartQuantity(cart) {
1344
  if (!Array.isArray(cart)) {
1345
  console.error('Invalid cart data:', cart);
1346
  return;
1347
  }
 
1348
  const cartIcon = document.getElementById('cart-icon');
1349
- cartIcon.innerText = cart.length; // Assuming cart is an array of items
1350
- }
1351
- function updateCartDisplay(cart) {
1352
- if (!Array.isArray(cart)) {
1353
- console.error('Invalid cart data:', cart);
1354
- return;
1355
- }
1356
- // Optional: Update quantity on the cart page
1357
  const cartCountElement = document.getElementById('cart-count');
1358
- cartCountElement.innerText = cart.reduce((total, item)=> total+item.quantity,0); // Update cart item count //Sum of all quantities
1359
-
1360
- // Optionally, show a small success notification that the item was added
1361
- const successNotification = document.createElement('div');
1362
- successNotification.classList.add('success-notification');
1363
- successNotification.innerText = 'Item added to cart!';
1364
- document.body.appendChild(successNotification);
1365
- setTimeout(() => {
1366
- successNotification.remove(); // Remove success notification after a few seconds
1367
- }, 2000);
1368
  }
1369
 
1370
 
 
1144
  });
1145
  });
1146
 
1147
+ ft Drink added to cart successfully!');
1148
+
1149
+ // subbu###################
1150
  // function addSoftDrinkToCart(name, price, image, section, category, index) {
1151
  // const itemPrice = parseFloat(price);
1152
  // const quantity = 1; // Default quantity
 
1175
  // // Hide the ADD button and show quantity controls
1176
  // document.getElementById(`add-btn-${index}`).style.display = 'none';
1177
  // document.getElementById(`quantity-control-${index}`).style.display = 'flex';
1178
+ // updateCartQuantity(data.cart);
1179
  // alert('Soft Drink added to cart successfully!');
1180
  // } else {
1181
  // alert(data.error || 'Failed to add Soft Drink to cart.');
 
1186
  // alert('An error occurred while adding the Soft Drink to the cart.');
1187
  // });
1188
  // }
1189
+
1190
+ // Add Soft Drink to Cart with a default quantity of 1
1191
  function addSoftDrinkToCart(name, price, image, section, category, index) {
1192
  const itemPrice = parseFloat(price);
1193
  const quantity = 1; // Default quantity
 
1203
  quantity: quantity
1204
  };
1205
 
1206
+ // Add item to cart for the first time
1207
  fetch('/cart/add', {
1208
  method: 'POST',
1209
  headers: {
 
1217
  // Hide the ADD button and show quantity controls
1218
  document.getElementById(`add-btn-${index}`).style.display = 'none';
1219
  document.getElementById(`quantity-control-${index}`).style.display = 'flex';
1220
+ updateCartQuantity(data.cart); // Update cart display
1221
  alert('Soft Drink added to cart successfully!');
1222
  } else {
1223
  alert(data.error || 'Failed to add Soft Drink to cart.');
 
1228
  alert('An error occurred while adding the Soft Drink to the cart.');
1229
  });
1230
  }
 
 
1231
  // subbu###################
1232
 
1233
 
1234
 
1235
 
1236
+
1237
  // function increaseQuantity(name, index) {
1238
  // let quantityElement = document.getElementById(`quantity-${index}`);
1239
  // let currentQuantity = parseInt(quantityElement.innerText);
1240
+ // currentQuantity++; // Increase the quantity by 1
1241
  // quantityElement.innerText = currentQuantity;
1242
 
1243
+ // // Update cart immediately
1244
  // updateCartQuantity(name, currentQuantity);
1245
  // }
1246
+ function increaseQuantity(name, index) {
1247
  let quantityElement = document.getElementById(`quantity-${index}`);
1248
  let currentQuantity = parseInt(quantityElement.innerText);
1249
  currentQuantity++; // Increase the quantity by 1
1250
  quantityElement.innerText = currentQuantity;
1251
 
1252
+ // Update cart immediately when quantity is increased
1253
  updateCartQuantity(name, currentQuantity);
1254
  }
1255
 
 
1256
 
1257
+
1258
  // function decreaseQuantity(name, index) {
1259
  // let quantityElement = document.getElementById(`quantity-${index}`);
1260
  // let currentQuantity = parseInt(quantityElement.innerText);
1261
+
1262
  // if (currentQuantity > 1) {
1263
  // currentQuantity--;
1264
  // quantityElement.innerText = currentQuantity;
1265
+ // // Update cart immediately
1266
  // updateCartQuantity(name, currentQuantity);
1267
  // } else {
1268
+ // // Remove from cart if quantity is 1 and show the "Add" button
1269
  // removeFromCart(name, index);
1270
+ // document.getElementById(`add-btn-${index}`).style.display = 'block'; // Show ADD button
1271
+ // document.getElementById(`quantity-control-${index}`).style.display = 'none'; // Hide quantity controls
1272
  // }
1273
  // }
1274
+ function decreaseQuantity(name, index) {
 
 
1275
  let quantityElement = document.getElementById(`quantity-${index}`);
1276
  let currentQuantity = parseInt(quantityElement.innerText);
1277
 
 
1281
  // Update cart immediately
1282
  updateCartQuantity(name, currentQuantity);
1283
  } else {
1284
+ // Remove from cart if quantity is 1
1285
  removeFromCart(name, index);
1286
  document.getElementById(`add-btn-${index}`).style.display = 'block'; // Show ADD button
1287
  document.getElementById(`quantity-control-${index}`).style.display = 'none'; // Hide quantity controls
 
1290
 
1291
 
1292
 
1293
+ // Function to update cart quantity
1294
+ // function updateCartQuantity(cart) {
 
 
 
1295
  // if (!Array.isArray(cart)) {
1296
  // console.error('Invalid cart data:', cart);
1297
  // return;
1298
  // }
1299
  // const cartIcon = document.getElementById('cart-icon');
1300
+ // cartIcon.innerText = cart.length; // Assuming cart is an array of items
 
 
1301
  // }
1302
+ function updateCartQuantity(name, newQuantity) {
1303
+ const customerEmail = "[email protected]"; // Get the logged-in user's email
1304
+ fetch(`/cart/update_quantity`, {
1305
+ method: 'POST',
1306
+ headers: { 'Content-Type': 'application/json' },
1307
+ body: JSON.stringify({
1308
+ email: customerEmail,
1309
+ item_name: name.trim(),
1310
+ quantity: newQuantity
1311
+ })
1312
+ })
1313
+ .then(response => response.json())
1314
+ .then(data => {
1315
+ if (data.success) {
1316
+ alert("Item quantity updated successfully.");
1317
+ updateCartDisplay(data.cart); // Update cart UI
1318
+ } else {
1319
+ alert(data.error || "Failed to update item quantity.");
1320
+ }
1321
+ })
1322
+ .catch(err => console.error("Error updating item quantity:", err));
1323
+ }
1324
+
1325
+ // function updateCartDisplay(cart) {
1326
+ // if (!Array.isArray(cart)) {
1327
+ // console.error('Invalid cart data:', cart);
1328
+ // return;
1329
+ // }
1330
+ // // Optional: Update quantity on the cart page
1331
+ // const cartCountElement = document.getElementById('cart-count');
1332
+ // cartCountElement.innerText = cart.reduce((total, item)=> total+item.quantity,0); // Update cart item count //Sum of all quantities
1333
+
1334
+ // // Optionally, show a small success notification that the item was added
1335
+ // const successNotification = document.createElement('div');
1336
+ // successNotification.classList.add('success-notification');
1337
+ // successNotification.innerText = 'Item added to cart!';
1338
+ // document.body.appendChild(successNotification);
1339
+ // setTimeout(() => {
1340
+ // successNotification.remove(); // Remove success notification after a few seconds
1341
+ // }, 2000);
1342
  // }
1343
+ function updateCartDisplay(cart) {
 
 
 
1344
  if (!Array.isArray(cart)) {
1345
  console.error('Invalid cart data:', cart);
1346
  return;
1347
  }
1348
+
1349
  const cartIcon = document.getElementById('cart-icon');
1350
+ cartIcon.innerText = cart.length; // Assuming cart is an array of items
1351
+
1352
+ // Optional: Update quantity on the cart page
 
 
 
 
 
1353
  const cartCountElement = document.getElementById('cart-count');
1354
+ cartCountElement.innerText = cart.reduce((total, item) => total + item.quantity, 0); // Update cart item count (sum of all quantities)
 
 
 
 
 
 
 
 
 
1355
  }
1356
 
1357