Spaces:
Sleeping
Sleeping
Update templates/menu.html
Browse files- templates/menu.html +38 -16
templates/menu.html
CHANGED
|
@@ -266,6 +266,7 @@
|
|
| 266 |
.addon-section .form-check-label {
|
| 267 |
font-size: 16px;
|
| 268 |
margin-left: 5px;
|
|
|
|
| 269 |
cursor: pointer;
|
| 270 |
display: inline-block;
|
| 271 |
vertical-align: middle;
|
|
@@ -605,7 +606,7 @@
|
|
| 605 |
const optionId = `addon-spice-level-${option}`;
|
| 606 |
const optionHTML = `
|
| 607 |
<div class="form-check">
|
| 608 |
-
<input type="radio" class="form-check-input" name="spice-level" id="${optionId}" value="${option}" data-name="${option}" data-group="Spice Level">
|
| 609 |
<label class="form-check-label" for="${optionId}">
|
| 610 |
${option}
|
| 611 |
</label>
|
|
@@ -638,13 +639,24 @@
|
|
| 638 |
const optionId = `addon-${addon.name.replace(/\s+/g, '')}-${index}`;
|
| 639 |
const listItem = document.createElement('div');
|
| 640 |
listItem.classList.add('form-check');
|
| 641 |
-
|
| 642 |
-
|
| 643 |
-
|
| 644 |
-
|
| 645 |
-
|
| 646 |
-
|
| 647 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 648 |
optionsContainer.appendChild(listItem);
|
| 649 |
});
|
| 650 |
sectionDiv.appendChild(optionsContainer);
|
|
@@ -701,7 +713,7 @@
|
|
| 701 |
const groupName = checkbox.getAttribute('data-group');
|
| 702 |
const isMultiSelectGroup = ["Extra Toppings", "Choose Raita/Sides", "Select Dip/Sauce", "Extra Add-ons", "Make it a Combo", "Beverages", "Sauces"].includes(groupName);
|
| 703 |
|
| 704 |
-
if (!isMultiSelectGroup) {
|
| 705 |
const checkboxes = document.querySelectorAll(`.addon-option[data-group="${groupName}"]`);
|
| 706 |
checkboxes.forEach(otherCheckbox => {
|
| 707 |
if (otherCheckbox !== checkbox) {
|
|
@@ -759,12 +771,22 @@
|
|
| 759 |
return;
|
| 760 |
}
|
| 761 |
|
| 762 |
-
let selectedAddOns =
|
| 763 |
-
|
| 764 |
-
|
| 765 |
-
|
| 766 |
-
|
| 767 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 768 |
|
| 769 |
if (section.toLowerCase() === 'starters') {
|
| 770 |
const prepStyleOptions = Array.from(
|
|
@@ -779,7 +801,7 @@
|
|
| 779 |
name: option.getAttribute('data-name') || 'Default Type',
|
| 780 |
price: 0
|
| 781 |
}));
|
| 782 |
-
const spiceLevelOption = document.querySelector('#spice-level-options input[type="radio"][name="spice-level"]:checked');
|
| 783 |
const spiceLevelOptions = spiceLevelOption ? [{
|
| 784 |
name: spiceLevelOption.getAttribute('data-name') || 'Default Spice Level',
|
| 785 |
price: 0
|
|
|
|
| 266 |
.addon-section .form-check-label {
|
| 267 |
font-size: 16px;
|
| 268 |
margin-left: 5px;
|
| 269 |
+
margin-right: 15px;
|
| 270 |
cursor: pointer;
|
| 271 |
display: inline-block;
|
| 272 |
vertical-align: middle;
|
|
|
|
| 606 |
const optionId = `addon-spice-level-${option}`;
|
| 607 |
const optionHTML = `
|
| 608 |
<div class="form-check">
|
| 609 |
+
<input type="radio" class="form-check-input" name="spice-level-first-row" id="${optionId}" value="${option}" data-name="${option}" data-group="Spice Level">
|
| 610 |
<label class="form-check-label" for="${optionId}">
|
| 611 |
${option}
|
| 612 |
</label>
|
|
|
|
| 639 |
const optionId = `addon-${addon.name.replace(/\s+/g, '')}-${index}`;
|
| 640 |
const listItem = document.createElement('div');
|
| 641 |
listItem.classList.add('form-check');
|
| 642 |
+
|
| 643 |
+
if (addon.name.toLowerCase() === "spice level") {
|
| 644 |
+
listItem.innerHTML = `
|
| 645 |
+
<input type="radio" class="form-check-input addon-option" name="spice-level-addons" id="${optionId}" value="${option}"
|
| 646 |
+
data-name="${option}" data-group="${addon.name}" data-price="${addon.extra_charge ? addon.extra_charge_amount : 0}">
|
| 647 |
+
<label class="form-check-label" for="${optionId}">
|
| 648 |
+
${option} ${addon.extra_charge ? `($${addon.extra_charge_amount})` : ''}
|
| 649 |
+
</label>
|
| 650 |
+
`;
|
| 651 |
+
} else {
|
| 652 |
+
listItem.innerHTML = `
|
| 653 |
+
<input type="checkbox" class="form-check-input addon-option" id="${optionId}" value="${option}"
|
| 654 |
+
data-name="${option}" data-group="${addon.name}" data-price="${addon.extra_charge ? addon.extra_charge_amount : 0}">
|
| 655 |
+
<label class="form-check-label" for="${optionId}">
|
| 656 |
+
${option} ${addon.extra_charge ? `($${addon.extra_charge_amount})` : ''}
|
| 657 |
+
</label>
|
| 658 |
+
`;
|
| 659 |
+
}
|
| 660 |
optionsContainer.appendChild(listItem);
|
| 661 |
});
|
| 662 |
sectionDiv.appendChild(optionsContainer);
|
|
|
|
| 713 |
const groupName = checkbox.getAttribute('data-group');
|
| 714 |
const isMultiSelectGroup = ["Extra Toppings", "Choose Raita/Sides", "Select Dip/Sauce", "Extra Add-ons", "Make it a Combo", "Beverages", "Sauces"].includes(groupName);
|
| 715 |
|
| 716 |
+
if (!isMultiSelectGroup && groupName.toLowerCase() !== "spice level") {
|
| 717 |
const checkboxes = document.querySelectorAll(`.addon-option[data-group="${groupName}"]`);
|
| 718 |
checkboxes.forEach(otherCheckbox => {
|
| 719 |
if (otherCheckbox !== checkbox) {
|
|
|
|
| 771 |
return;
|
| 772 |
}
|
| 773 |
|
| 774 |
+
let selectedAddOns = [];
|
| 775 |
+
|
| 776 |
+
const addonsListOptions = document.querySelectorAll('#addons-list .addon-option');
|
| 777 |
+
addonsListOptions.forEach(option => {
|
| 778 |
+
if (option.type === "radio" && option.checked) {
|
| 779 |
+
selectedAddOns.push({
|
| 780 |
+
name: option.getAttribute('data-name') || 'Default Name',
|
| 781 |
+
price: parseFloat(option.getAttribute('data-price') || 0)
|
| 782 |
+
});
|
| 783 |
+
} else if (option.type === "checkbox" && option.checked) {
|
| 784 |
+
selectedAddOns.push({
|
| 785 |
+
name: option.getAttribute('data-name') || 'Default Name',
|
| 786 |
+
price: parseFloat(option.getAttribute('data-price') || 0)
|
| 787 |
+
});
|
| 788 |
+
}
|
| 789 |
+
});
|
| 790 |
|
| 791 |
if (section.toLowerCase() === 'starters') {
|
| 792 |
const prepStyleOptions = Array.from(
|
|
|
|
| 801 |
name: option.getAttribute('data-name') || 'Default Type',
|
| 802 |
price: 0
|
| 803 |
}));
|
| 804 |
+
const spiceLevelOption = document.querySelector('#spice-level-options input[type="radio"][name="spice-level-first-row"]:checked');
|
| 805 |
const spiceLevelOptions = spiceLevelOption ? [{
|
| 806 |
name: spiceLevelOption.getAttribute('data-name') || 'Default Spice Level',
|
| 807 |
price: 0
|