tionet / static /script.js
nagasurendra's picture
Update static/script.js
3b2bc6b verified
raw
history blame
3.83 kB
let conversation = [
{ role: 'bot', message: "Hi there! I'm Chat Bot! May I know your name?" }
];
let selectedIngredients = [];
let selectedMenuItem = null;
let cart = [];
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 = [];
// Handle name input (first user response after bot's greeting)
if (conversation.length === 2 && conversation[0].role === 'bot' && conversation[0].message.includes('May I know your name?')) {
botResponse = `Nice to meet you, ${userInput}! 😊 How can I assist you today?`;
options = [
{ text: 'How do I contact customer support?', class: 'blue' },
{ text: 'What are your business hours?', class: 'blue' },
{ text: 'How do I reset my password?', class: 'blue' }
];
} else if (lastMessage.includes('how do i contact customer support?')) {
botResponse = 'You can email us at [email protected].';
} else if (lastMessage.includes('what are your business hours?')) {
botResponse = 'We are open from 9 AM to 6 PM, Monday to Friday.';
} else if (lastMessage.includes('how do i reset my password?')) {
botResponse = 'Click on "Forgot Password" on the login page.';
} else {
// Fallback for unrecognized input
botResponse = "Sorry, I didn't understand that. Could you please clarify or choose an option?";
if (conversation.length === 2) {
options = [
{ text: 'How do I contact customer support?', class: 'blue' },
{ text: 'What are your business hours?', class: 'blue' },
{ text: 'How do I reset my password?', class: 'blue' }
];
}
}
addMessage('bot', botResponse);
if (options.length > 0) {
displayOptions(options);
}
}
function displayOptions(options) {
// Function to display options on the UI
options.forEach(option => {
const button = document.createElement('button');
button.classList.add(option.class);
button.textContent = option.text;
button.onclick = () => handleResponse(option.text);
document.getElementById('options-container').appendChild(button);
});
}
function addMessage(role, message) {
// Function to add the bot or user message to the chat window
const messageContainer = document.createElement('div');
messageContainer.classList.add(role);
messageContainer.textContent = message;
document.getElementById('chat').appendChild(messageContainer);
}
document.getElementById('userInput').addEventListener('keypress', function(e) {
if (e.key === 'Enter') {
sendMessage();
}
});
console.log('Script loaded successfully');