geethareddy's picture
Update static/script.js
611193f verified
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');