const selectedDishes = {
soup: null,
'main-course': null,
drink: null
};
function sortDishes() {
dishes.sort(function(a, b) {
return a.name.localeCompare(b.name, 'ru');
});
}
function displayDishes() {
const soupSection = document.getElementById('soup-section');
const mainCourseSection = document.getElementById('main-course-section');
const drinkSection = document.getElementById('drink-section');
soupSection.innerHTML = '';
mainCourseSection.innerHTML = '';
drinkSection.innerHTML = '';
dishes.forEach(function(dish) {
const dishCard = createDishCard(dish);
if (dish.category === 'soup') {
soupSection.insertAdjacentHTML('beforeend', dishCard);
} else if (dish.category === 'main-course') {
mainCourseSection.insertAdjacentHTML('beforeend', dishCard);
} else if (dish.category === 'drink') {
drinkSection.insertAdjacentHTML('beforeend', dishCard);
}
});
addDishClickHandlers();
}
function createDishCard(dish) {
return `
${dish.price} руб.
${dish.name}
${dish.count}
`;
}
function addDishClickHandlers() {
const dishCards = document.querySelectorAll('.dish-card');
dishCards.forEach(function(card) {
card.addEventListener('click', function() {
const keyword = this.dataset.dish;
const dish = dishes.find(function(d) {
return d.keyword === keyword;
});
if (dish) {
selectDish(dish);
}
});
});
}
function selectDish(dish) {
selectedDishes[dish.category] = dish;
updateOrderSummary();
}
function updateOrderSummary() {
const orderSummary = document.getElementById('order-summary');
const hasSelection = selectedDishes.soup ||
selectedDishes['main-course'] ||
selectedDishes.drink;
if (!hasSelection) {
orderSummary.innerHTML = 'Ничего не выбрано
';
return;
}
let summaryHTML = '';
let totalPrice = 0;
if (selectedDishes.soup) {
summaryHTML += `
Суп
${selectedDishes.soup.name}
${selectedDishes.soup.price} руб.
`;
totalPrice += selectedDishes.soup.price;
} else {
summaryHTML += `
`;
}
if (selectedDishes['main-course']) {
summaryHTML += `
Главное блюдо
${selectedDishes['main-course'].name}
${selectedDishes['main-course'].price} руб.
`;
totalPrice += selectedDishes['main-course'].price;
} else {
summaryHTML += `
Главное блюдо
Блюдо не выбрано
`;
}
if (selectedDishes.drink) {
summaryHTML += `
Напиток
${selectedDishes.drink.name}
${selectedDishes.drink.price} руб.
`;
totalPrice += selectedDishes.drink.price;
} else {
summaryHTML += `
Напиток
Напиток не выбран
`;
}
summaryHTML += `
Стоимость заказа
${totalPrice} руб.
`;
orderSummary.innerHTML = summaryHTML;
}
document.addEventListener('DOMContentLoaded', function() {
sortDishes();
displayDishes();
});