Spaces:
Sleeping
Sleeping
File size: 5,268 Bytes
5f73f37 611193f 5f73f37 6b91e96 5f73f37 6b91e96 5f73f37 6b91e96 5f73f37 6b91e96 5f73f37 6b91e96 5f73f37 611193f 5f73f37 611193f 5f73f37 611193f 5f73f37 611193f 5f73f37 611193f 5f73f37 611193f 5f73f37 611193f 5f73f37 6b91e96 5f73f37 611193f 5f73f37 611193f 5f73f37 611193f 5f73f37 67eb455 6b91e96 611193f |
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 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
let conversation = [
{ role: 'bot', message: 'Hello! π Welcome to Chef Bot! π I can help you create a perfect meal. First, what type of food would you prefer today?' }
];
function addMessage(role, message) {
const chatMessages = document.getElementById('chatMessages');
if (!chatMessages) {
console.error('Chat messages container not found!');
return;
}
const messageDiv = document.createElement('div');
messageDiv.className = role === 'bot' ? 'bot-message' : 'user-message';
messageDiv.textContent = message;
chatMessages.appendChild(messageDiv);
chatMessages.scrollTop = chatMessages.scrollHeight;
console.log(`Added ${role} message: ${message}`);
}
function sendMessage() {
const userInput = document.getElementById('userInput');
if (!userInput) {
console.error('User input field not found!');
return;
}
const message = userInput.value.trim();
if (message) {
addMessage('user', message);
conversation.push({ role: 'user', message: message });
userInput.value = '';
setTimeout(() => {
handleResponse(message);
}, 500);
} else {
console.warn('Empty message!');
}
}
function handleResponse(userInput) {
const lastMessage = conversation[conversation.length - 1].message.toLowerCase();
let botResponse = '';
let options = [];
if (conversation.length === 2) { // After name input or initial greeting
botResponse = `Nice to meet you! π What type of meal are you in the mood for? Please choose an option below:`;
options = [
{ text: 'Vegetarian π', class: 'green' },
{ text: 'Non-Vegetarian π', class: 'red' }
];
} else if (lastMessage.includes('vegetarian')) {
botResponse = 'Great choice! π½οΈ Here are some tasty vegetarian dishes:';
options = [
{ text: 'Vegetable Biryani', class: '' },
{ text: 'Paneer Butter Masala', class: '' },
{ text: 'Palak Paneer', class: '' }
];
} else if (lastMessage.includes('non-vegetarian')) {
botResponse = 'Yum! Here are some delicious non-vegetarian dishes:';
options = [
{ text: 'Chicken Curry', class: '' },
{ text: 'Mutton Korma', class: '' },
{ text: 'Fish Tikka', class: '' }
];
} else if (['vegetable biryani', 'paneer butter masala', 'palak paneer'].includes(lastMessage)) {
botResponse = `Great choice! Here are the ingredients for ${lastMessage}:`;
if (lastMessage === 'Vegetable Biryani') {
options = ['Rice', 'Carrots', 'Potatoes', 'Green Beans', 'Onions', 'Spices'];
} else if (lastMessage === 'Paneer Butter Masala') {
options = ['Paneer', 'Butter', 'Tomatoes', 'Onions', 'Spices', 'Cream'];
} else if (lastMessage === 'Palak Paneer') {
options = ['Spinach', 'Paneer', 'Onions', 'Garlic', 'Spices'];
}
} else if (['chicken curry', 'mutton korma', 'fish tikka'].includes(lastMessage)) {
botResponse = `Yum! Here are the ingredients for ${lastMessage}:`;
if (lastMessage === 'Chicken Curry') {
options = ['Chicken', 'Tomatoes', 'Onions', 'Garlic', 'Ginger', 'Spices'];
} else if (lastMessage === 'Mutton Korma') {
options = ['Mutton', 'Onions', 'Tomatoes', 'Yogurt', 'Spices'];
} else if (lastMessage === 'Fish Tikka') {
options = ['Fish', 'Yogurt', 'Spices', 'Lemon', 'Onions'];
}
}
addMessage('bot', botResponse);
if (options.length > 0) {
displayOptions(options);
}
}
function displayOptions(options) {
const chatMessages = document.getElementById('chatMessages');
if (!chatMessages) {
console.error('Chat messages container not found for options!');
return;
}
options.forEach(opt => {
const button = document.createElement('button');
button.textContent = opt;
button.className = 'option-button';
button.onclick = () => {
addMessage('user', opt);
conversation.push({ role: 'user', message: opt });
chatMessages.innerHTML = ''; // Clear previous messages
conversation.forEach(msg => addMessage(msg.role, msg.message));
setTimeout(() => handleResponse(opt), 500);
};
chatMessages.appendChild(button);
});
chatMessages.appendChild(document.createElement('br'));
const backButton = document.createElement('button');
backButton.textContent = 'Go Back';
backButton.className = 'option-button';
backButton.onclick = () => {
conversation.pop(); // Remove last user input
chatMessages.innerHTML = ''; // Clear previous messages
conversation.forEach(msg => addMessage(msg.role, msg.message));
setTimeout(() => handleResponse(conversation[conversation.length - 1].message), 500);
};
chatMessages.appendChild(backButton);
}
// Add event listener for Enter key
document.getElementById('userInput').addEventListener('keypress', function(e) {
if (e.key === 'Enter') {
sendMessage();
}
});
// Initial load check
console.log('Script loaded successfully');
|