lokesh341 commited on
Commit
f356e18
·
verified ·
1 Parent(s): 891f8e9

Update templates/menu.html

Browse files
Files changed (1) hide show
  1. templates/menu.html +48 -7
templates/menu.html CHANGED
@@ -242,9 +242,10 @@
242
  color: #343a40;
243
  }
244
  .addon-section .form-check {
245
- display: inline-flex;
246
  align-items: center;
247
  margin-left: 10px;
 
248
  color: #343a40;
249
  }
250
  .addon-section .form-check-input {
@@ -274,7 +275,6 @@
274
  .addon-section .form-check-label {
275
  font-size: 16px;
276
  margin-left: 5px;
277
- margin-right: 15px;
278
  cursor: pointer;
279
  display: inline-block;
280
  vertical-align: middle;
@@ -618,6 +618,10 @@
618
  padding: 8px;
619
  margin-bottom: 5px;
620
  }
 
 
 
 
621
  .addon-section .form-check-input {
622
  width: 16px;
623
  height: 16px;
@@ -625,7 +629,6 @@
625
  }
626
  .addon-section .form-check-label {
627
  font-size: 12px;
628
- margin-right: 10px;
629
  }
630
  }
631
  </style>
@@ -772,6 +775,27 @@
772
  <h6>Type</h6>
773
  <div id="type-options"></div>
774
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
775
  </div>
776
 
777
  <div id="modal-addons" class="modal-addons mt-4">
@@ -1084,12 +1108,14 @@
1084
 
1085
  const prepStyleOptions = document.getElementById('prep-style-options');
1086
  const typeOptions = document.getElementById('type-options');
 
1087
  const firstRow = document.getElementById('first-row');
1088
  const firstRowTitle = document.getElementById('first-row-title');
1089
  const addonsTitle = document.getElementById('addons-title');
1090
 
1091
  prepStyleOptions.innerHTML = '';
1092
  typeOptions.innerHTML = '';
 
1093
 
1094
  if (section.toLowerCase() === 'starters') {
1095
  firstRow.style.display = 'block';
@@ -1188,6 +1214,7 @@
1188
  data.addons.forEach(addon => {
1189
  if (section.toLowerCase() === 'starters' &&
1190
  (addon.name.toLowerCase() === "type" ||
 
1191
  addon.name.toLowerCase() === "choose preparation style")) {
1192
  return;
1193
  }
@@ -1207,7 +1234,7 @@
1207
  listItem.classList.add('form-check');
1208
 
1209
  listItem.innerHTML = `
1210
- <input type="checkbox" class="form-check-input addon-option" id="${optionId}" value="${option}"
1211
  data-name="${option}" data-group="${addon.name}" data-price="${addon.extra_charge ? addon.extra_charge_amount : 0}">
1212
  <label class="form-check-label" for="${optionId}">
1213
  ${option} ${addon.extra_charge ? `($${addon.extra_charge_amount})` : ''}
@@ -1226,6 +1253,7 @@
1226
  ];
1227
 
1228
  const desiredOrder = [
 
1229
  "Choose Preparation Style",
1230
  "Select Dip/Sauce",
1231
  "Extra Add-ons",
@@ -1259,7 +1287,7 @@
1259
  }
1260
 
1261
  document.addEventListener('click', function(event) {
1262
- if (event.target.classList.contains('addon-option')) {
1263
  handleAddonClick(event.target);
1264
  }
1265
  });
@@ -1268,7 +1296,15 @@
1268
  const groupName = checkbox.getAttribute('data-group');
1269
  const isMultiSelectGroup = ["Extra Toppings", "Choose Raita/Sides", "Select Dip/Sauce", "Extra Add-ons", "Make it a Combo", "Beverages", "Sauces"].includes(groupName);
1270
 
1271
- if (!isMultiSelectGroup) {
 
 
 
 
 
 
 
 
1272
  const checkboxes = document.querySelectorAll(`.addon-option[data-group="${groupName}"]`);
1273
  checkboxes.forEach(otherCheckbox => {
1274
  if (otherCheckbox !== checkbox) {
@@ -1354,7 +1390,12 @@
1354
  name: option.getAttribute('data-name') || 'Default Type',
1355
  price: 0
1356
  }));
1357
- selectedAddOns = [...selectedAddOns, ...prepStyleOptions, ...typeOptions];
 
 
 
 
 
1358
  }
1359
 
1360
  const quantity = parseInt(document.getElementById('quantityInput').value) || 1;
 
242
  color: #343a40;
243
  }
244
  .addon-section .form-check {
245
+ display: flex;
246
  align-items: center;
247
  margin-left: 10px;
248
+ margin-bottom: 8px;
249
  color: #343a40;
250
  }
251
  .addon-section .form-check-input {
 
275
  .addon-section .form-check-label {
276
  font-size: 16px;
277
  margin-left: 5px;
 
278
  cursor: pointer;
279
  display: inline-block;
280
  vertical-align: middle;
 
618
  padding: 8px;
619
  margin-bottom: 5px;
620
  }
621
+ .addon-section .form-check {
622
+ margin-left: 0;
623
+ margin-bottom: 5px;
624
+ }
625
  .addon-section .form-check-input {
626
  width: 16px;
627
  height: 16px;
 
629
  }
630
  .addon-section .form-check-label {
631
  font-size: 12px;
 
632
  }
633
  }
634
  </style>
 
775
  <h6>Type</h6>
776
  <div id="type-options"></div>
777
  </div>
778
+ <div class="addon-section">
779
+ <h6>Select Spice Level</h6>
780
+ <div id="spice-level-options">
781
+ <div class="form-check">
782
+ <input type="checkbox" class="form-check-input spice-level-option" id="spice-mild" value="Mild" data-name="Mild" data-group="Spice Level">
783
+ <label class="form-check-label" for="spice-mild">Mild</label>
784
+ </div>
785
+ <div class="form-check">
786
+ <input type="checkbox" class="form-check-input spice-level-option" id="spice-medium" value="Medium" data-name="Medium" data-group="Spice Level">
787
+ <label class="form-check-label" for="spice-medium">Medium</label>
788
+ </div>
789
+ <div class="form-check">
790
+ <input type="checkbox" class="form-check-input spice-level-option" id="spice-spicy" value="Spicy" data-name="Spicy" data-group="Spice Level">
791
+ <label class="form-check-label" for="spice-spicy">Spicy</label>
792
+ </div>
793
+ <div class="form-check">
794
+ <input type="checkbox" class="form-check-input spice-level-option" id="spice-extra-spicy" value="Extra Spicy" data-name="Extra Spicy" data-group="Spice Level">
795
+ <label class="form-check-label" for="spice-extra-spicy">Extra Spicy</label>
796
+ </div>
797
+ </div>
798
+ </div>
799
  </div>
800
 
801
  <div id="modal-addons" class="modal-addons mt-4">
 
1108
 
1109
  const prepStyleOptions = document.getElementById('prep-style-options');
1110
  const typeOptions = document.getElementById('type-options');
1111
+ const spiceLevelOptions = document.getElementById('spice-level-options');
1112
  const firstRow = document.getElementById('first-row');
1113
  const firstRowTitle = document.getElementById('first-row-title');
1114
  const addonsTitle = document.getElementById('addons-title');
1115
 
1116
  prepStyleOptions.innerHTML = '';
1117
  typeOptions.innerHTML = '';
1118
+ spiceLevelOptions.innerHTML = '';
1119
 
1120
  if (section.toLowerCase() === 'starters') {
1121
  firstRow.style.display = 'block';
 
1214
  data.addons.forEach(addon => {
1215
  if (section.toLowerCase() === 'starters' &&
1216
  (addon.name.toLowerCase() === "type" ||
1217
+ addon.name.toLowerCase() === "spice level" ||
1218
  addon.name.toLowerCase() === "choose preparation style")) {
1219
  return;
1220
  }
 
1234
  listItem.classList.add('form-check');
1235
 
1236
  listItem.innerHTML = `
1237
+ <input type="checkbox" class="form-check-input ${addon.name.toLowerCase() === 'spice level' ? 'spice-level-option' : 'addon-option'}" id="${optionId}" value="${option}"
1238
  data-name="${option}" data-group="${addon.name}" data-price="${addon.extra_charge ? addon.extra_charge_amount : 0}">
1239
  <label class="form-check-label" for="${optionId}">
1240
  ${option} ${addon.extra_charge ? `($${addon.extra_charge_amount})` : ''}
 
1253
  ];
1254
 
1255
  const desiredOrder = [
1256
+ "Spice Level",
1257
  "Choose Preparation Style",
1258
  "Select Dip/Sauce",
1259
  "Extra Add-ons",
 
1287
  }
1288
 
1289
  document.addEventListener('click', function(event) {
1290
+ if (event.target.classList.contains('spice-level-option') || event.target.classList.contains('addon-option')) {
1291
  handleAddonClick(event.target);
1292
  }
1293
  });
 
1296
  const groupName = checkbox.getAttribute('data-group');
1297
  const isMultiSelectGroup = ["Extra Toppings", "Choose Raita/Sides", "Select Dip/Sauce", "Extra Add-ons", "Make it a Combo", "Beverages", "Sauces"].includes(groupName);
1298
 
1299
+ if (groupName.toLowerCase() === "spice level") {
1300
+ const allSpiceLevelCheckboxes = document.querySelectorAll('.spice-level-option');
1301
+ allSpiceLevelCheckboxes.forEach(otherCheckbox => {
1302
+ if (otherCheckbox !== checkbox) {
1303
+ otherCheckbox.checked = false;
1304
+ }
1305
+ });
1306
+ }
1307
+ else if (!isMultiSelectGroup) {
1308
  const checkboxes = document.querySelectorAll(`.addon-option[data-group="${groupName}"]`);
1309
  checkboxes.forEach(otherCheckbox => {
1310
  if (otherCheckbox !== checkbox) {
 
1390
  name: option.getAttribute('data-name') || 'Default Type',
1391
  price: 0
1392
  }));
1393
+ const spiceLevelOption = document.querySelector('#spice-level-options input[type="checkbox"].spice-level-option:checked');
1394
+ const spiceLevelOptions = spiceLevelOption ? [{
1395
+ name: spiceLevelOption.getAttribute('data-name') || 'Default Spice Level',
1396
+ price: 0
1397
+ }] : [];
1398
+ selectedAddOns = [...selectedAddOns, ...prepStyleOptions, ...typeOptions, ...spiceLevelOptions];
1399
  }
1400
 
1401
  const quantity = parseInt(document.getElementById('quantityInput').value) || 1;