File size: 2,582 Bytes
c5e398b
 
 
 
 
 
b82b19e
 
c5e398b
 
 
 
 
b82b19e
c5e398b
 
b82b19e
c5e398b
 
 
b82b19e
c5e398b
b82b19e
 
c5e398b
 
 
 
 
 
b82b19e
 
c5e398b
 
 
 
b82b19e
c5e398b
 
 
b82b19e
c5e398b
 
 
b82b19e
 
c5e398b
 
 
 
 
 
 
 
 
b82b19e
c5e398b
 
 
 
b82b19e
c5e398b
 
 
 
 
 
 
b82b19e
c5e398b
 
b82b19e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
const dishes = {
    "rice": ["Biryani", "Fried Rice", "Pulao"],
    "milk": ["Kheer", "Milkshake", "Payasam"],
    "chicken": ["Chicken Curry", "Grilled Chicken", "Chicken Salad"],
    "paneer": ["Paneer Butter Masala", "Paneer Tikka", "Palak Paneer"],
    "potatoes": ["Aloo Gobi", "Aloo Tikki", "Mashed Potatoes"],
};

function sendMessage() {
    const userInput = document.getElementById('user-input').value.toLowerCase();
    if (userInput.trim() === "") return;
    
    displayMessage(userInput, 'user');

    const ingredients = userInput.split(' ').map(ingredient => ingredient.trim());
    const suggestedDishes = getDishSuggestions(ingredients);

    setTimeout(() => {
        displayBotMessage(suggestedDishes);
    }, 1000);

    document.getElementById('user-input').value = '';
}

function displayMessage(message, sender) {
    const messageElement = document.createElement('div');
    messageElement.classList.add('message', sender === 'bot' ? 'bot-message' : 'user-message');
    messageElement.textContent = message;
    document.getElementById('chatbox-body').appendChild(messageElement);
    document.getElementById('chatbox-body').scrollTop = document.getElementById('chatbox-body').scrollHeight;
}

function displayBotMessage(dishes) {
    let botMessage = 'Here are some dishes I suggest based on the ingredients you provided:\n\n';
    if (dishes.length === 0) {
        botMessage += 'Sorry, I couldn\'t find any dishes for the given ingredients.';
    } else {
        dishes.forEach(dish => {
            botMessage += `- ${dish}\n`;
        });
    }

    displayMessage(botMessage, 'bot');
    displayFoodItems(dishes);
}

function getDishSuggestions(ingredients) {
    let suggestedDishes = [];
    ingredients.forEach(ingredient => {
        if (dishes[ingredient]) {
            suggestedDishes = [...suggestedDishes, ...dishes[ingredient]];
        }
    });
    return [...new Set(suggestedDishes)]; // Remove duplicates
}

function displayFoodItems(dishes) {
    const foodItemsContainer = document.getElementById('food-items');
    foodItemsContainer.innerHTML = ''; // Clear previous items
    foodItemsContainer.style.display = dishes.length > 0 ? 'block' : 'none';

    dishes.forEach(dish => {
        const dishElement = document.createElement('div');
        dishElement.textContent = dish;
        dishElement.onclick = () => showFoodDescription(dish);
        foodItemsContainer.appendChild(dishElement);
    });
}

function showFoodDescription(dish) {
    alert(`You selected: ${dish}\nHere is a brief description of ${dish}: ...`);
}