Subbu1304 commited on
Commit
df40741
·
verified ·
1 Parent(s): aefa70a

Update templates/menu.html

Browse files
Files changed (1) hide show
  1. templates/menu.html +167 -41
templates/menu.html CHANGED
@@ -555,6 +555,50 @@ form-check-input addon-option{
555
  padding: 2px 8px;
556
  font-size: 12px;
557
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
558
  </style>
559
  </head>
560
  <body>
@@ -671,11 +715,18 @@ form-check-input addon-option{
671
  </div>
672
 
673
  <!-- View Cart Button -->
674
- <div class="view-cart-container">
675
  <a href="{{ url_for('cart.cart') }}" class="view-cart-button">
676
  View Cart
677
  </a>
678
- </div>
 
 
 
 
 
 
 
679
 
680
  <!-- Modal for Item Details -->
681
  <div class="modal fade" id="itemModal" tabindex="-1" aria-labelledby="itemModalLabel" aria-hidden="true">
@@ -963,45 +1014,45 @@ document.addEventListener('DOMContentLoaded', function () {
963
  });
964
 
965
  // Function to add Soft Drink to cart directly
966
- function addSoftDrinkToCart(name, price, image, section, category, index) {
967
- const itemPrice = parseFloat(price);
968
- const quantity = 1; // Default quantity
969
-
970
- const cartPayload = {
971
- itemName: name,
972
- itemPrice: itemPrice,
973
- itemImage: image || '/static/placeholder.jpg',
974
- section: section,
975
- category: category,
976
- addons: [], // No add-ons for Soft Drinks
977
- instructions: '', // No instructions for Soft Drinks
978
- quantity: quantity
979
- };
980
-
981
- fetch('/cart/add', {
982
- method: 'POST',
983
- headers: {
984
- 'Content-Type': 'application/json',
985
- },
986
- body: JSON.stringify(cartPayload)
987
- })
988
- .then(response => response.json())
989
- .then(data => {
990
- if (data.success) {
991
- // Hide the ADD button and show quantity controls
992
- document.getElementById(`add-btn-${index}`).style.display = 'none';
993
- document.getElementById(`quantity-control-${index}`).style.display = 'flex';
994
- updateCartUI(data.cart);
995
- alert('Soft Drink added to cart successfully!');
996
- } else {
997
- alert(data.error || 'Failed to add Soft Drink to cart.');
998
- }
999
- })
1000
- .catch(err => {
1001
- console.error('Error adding Soft Drink to cart:', err);
1002
- alert('An error occurred while adding the Soft Drink to the cart.');
1003
- });
1004
- }
1005
  // function addSoftDrinkToCart(name, price, image, section, category, index) {
1006
  // const itemPrice = parseFloat(price);
1007
  // const quantity = 1; // Default quantity
@@ -1116,6 +1167,81 @@ document.addEventListener('DOMContentLoaded', function () {
1116
  // .catch(err => console.error("Error removing item from cart:", err));
1117
  // }
1118
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1119
 
1120
 
1121
 
 
555
  padding: 2px 8px;
556
  font-size: 12px;
557
  }
558
+
559
+
560
+
561
+
562
+
563
+
564
+
565
+
566
+ #view-cart-container {
567
+ position: fixed;
568
+ right: 20px;
569
+ bottom: 20px;
570
+ display: none; /* Hide the container initially */
571
+ transition: right 0.3s ease; /* Smooth transition for movement */
572
+ }
573
+
574
+ .view-cart-button {
575
+ background-color: #007bff; /* Adjust color as needed */
576
+ color: white;
577
+ padding: 10px 20px;
578
+ border-radius: 5px;
579
+ text-decoration: none;
580
+ position: relative;
581
+ }
582
+
583
+ .cart-count {
584
+ position: absolute;
585
+ top: -10px;
586
+ right: -10px;
587
+ background-color: red;
588
+ color: white;
589
+ border-radius: 50%;
590
+ padding: 5px 10px;
591
+ font-size: 12px;
592
+ }
593
+
594
+ .show-cart {
595
+ right: 20px; /* Move the button to the right */
596
+ }
597
+
598
+ .hide-cart {
599
+ right: -300px; /* Hide it off-screen if needed */
600
+ }
601
+
602
  </style>
603
  </head>
604
  <body>
 
715
  </div>
716
 
717
  <!-- View Cart Button -->
718
+ <!-- <div class="view-cart-container">
719
  <a href="{{ url_for('cart.cart') }}" class="view-cart-button">
720
  View Cart
721
  </a>
722
+ </div> -->
723
+ <div class="view-cart-container" id="view-cart-container">
724
+ <a href="{{ url_for('cart.cart') }}" class="view-cart-button" id="view-cart-button">
725
+ <span id="cart-count" class="cart-count">0</span>
726
+ View Cart
727
+ </a>
728
+ </div>
729
+
730
 
731
  <!-- Modal for Item Details -->
732
  <div class="modal fade" id="itemModal" tabindex="-1" aria-labelledby="itemModalLabel" aria-hidden="true">
 
1014
  });
1015
 
1016
  // Function to add Soft Drink to cart directly
1017
+ // function addSoftDrinkToCart(name, price, image, section, category, index) {
1018
+ // const itemPrice = parseFloat(price);
1019
+ // const quantity = 1; // Default quantity
1020
+
1021
+ // const cartPayload = {
1022
+ // itemName: name,
1023
+ // itemPrice: itemPrice,
1024
+ // itemImage: image || '/static/placeholder.jpg',
1025
+ // section: section,
1026
+ // category: category,
1027
+ // addons: [], // No add-ons for Soft Drinks
1028
+ // instructions: '', // No instructions for Soft Drinks
1029
+ // quantity: quantity
1030
+ // };
1031
+
1032
+ // fetch('/cart/add', {
1033
+ // method: 'POST',
1034
+ // headers: {
1035
+ // 'Content-Type': 'application/json',
1036
+ // },
1037
+ // body: JSON.stringify(cartPayload)
1038
+ // })
1039
+ // .then(response => response.json())
1040
+ // .then(data => {
1041
+ // if (data.success) {
1042
+ // // Hide the ADD button and show quantity controls
1043
+ // document.getElementById(`add-btn-${index}`).style.display = 'none';
1044
+ // document.getElementById(`quantity-control-${index}`).style.display = 'flex';
1045
+ // updateCartUI(data.cart);
1046
+ // alert('Soft Drink added to cart successfully!');
1047
+ // } else {
1048
+ // alert(data.error || 'Failed to add Soft Drink to cart.');
1049
+ // }
1050
+ // })
1051
+ // .catch(err => {
1052
+ // console.error('Error adding Soft Drink to cart:', err);
1053
+ // alert('An error occurred while adding the Soft Drink to the cart.');
1054
+ // });
1055
+ // }
1056
  // function addSoftDrinkToCart(name, price, image, section, category, index) {
1057
  // const itemPrice = parseFloat(price);
1058
  // const quantity = 1; // Default quantity
 
1167
  // .catch(err => console.error("Error removing item from cart:", err));
1168
  // }
1169
 
1170
+ function addSoftDrinkToCart(name, price, image, section, category, index) {
1171
+ const itemPrice = parseFloat(price);
1172
+ const quantity = 1; // Default quantity
1173
+
1174
+ const cartPayload = {
1175
+ itemName: name,
1176
+ itemPrice: itemPrice,
1177
+ itemImage: image || '/static/placeholder.jpg',
1178
+ section: section,
1179
+ category: category,
1180
+ addons: [], // No add-ons for Soft Drinks
1181
+ instructions: '', // No instructions for Soft Drinks
1182
+ quantity: quantity
1183
+ };
1184
+
1185
+ fetch('/cart/add', {
1186
+ method: 'POST',
1187
+ headers: {
1188
+ 'Content-Type': 'application/json',
1189
+ },
1190
+ body: JSON.stringify(cartPayload)
1191
+ })
1192
+ .then(response => response.json())
1193
+ .then(data => {
1194
+ if (data.success) {
1195
+ // Hide the ADD button and show quantity controls
1196
+ document.getElementById(`add-btn-${index}`).style.display = 'none';
1197
+ document.getElementById(`quantity-control-${index}`).style.display = 'flex';
1198
+ updateCartUI(data.cart);
1199
+ showCartButton(); // Show the cart button when an item is added
1200
+ alert('Soft Drink added to cart successfully!');
1201
+ } else {
1202
+ alert(data.error || 'Failed to add Soft Drink to cart.');
1203
+ }
1204
+ })
1205
+ .catch(err => {
1206
+ console.error('Error adding Soft Drink to cart:', err);
1207
+ alert('An error occurred while adding the Soft Drink to the cart.');
1208
+ });
1209
+ }
1210
+
1211
+ // Function to show the "View Cart" button and update the count
1212
+ function showCartButton() {
1213
+ var cartContainer = document.getElementById("view-cart-container");
1214
+ var cartButton = document.getElementById("view-cart-button");
1215
+ var cartCountElement = document.getElementById("cart-count");
1216
+
1217
+ // Make the cart container visible
1218
+ cartContainer.style.display = "block";
1219
+
1220
+ // Apply transition to move the button from right to left
1221
+ setTimeout(function() {
1222
+ cartContainer.classList.add("show-cart");
1223
+ }, 10);
1224
+
1225
+ updateCartCount(cartCountElement);
1226
+ }
1227
+
1228
+ // Function to update the cart item count
1229
+ function updateCartCount(cartCountElement) {
1230
+ // Get the number of items in the cart from your cart data (adjust as needed)
1231
+ fetch('/cart/total-items') // Replace this with your actual endpoint for cart data
1232
+ .then(response => response.json())
1233
+ .then(data => {
1234
+ if (data.success) {
1235
+ cartCountElement.textContent = data.totalItems; // Update count
1236
+ } else {
1237
+ cartCountElement.textContent = 0; // In case of an error, show 0
1238
+ }
1239
+ })
1240
+ .catch(err => {
1241
+ console.error('Error fetching cart count:', err);
1242
+ cartCountElement.textContent = 0; // Fallback in case of an error
1243
+ });
1244
+ }
1245
 
1246
 
1247