Spaces:
Sleeping
Sleeping
| let conversation = [ | |
| { role: 'bot', message: "Hi there! I'm your assistant! How can I help you 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 showFAQOptions() { | |
| const faqContainer = document.getElementById('faqList'); | |
| faqContainer.style.display = 'block'; // Show the FAQ list once the greeting is sent | |
| } | |
| function handleFAQClick(faq) { | |
| let botResponse = ''; | |
| // FAQ handling logic based on the clicked question | |
| if (faq === 'contact_support') { | |
| botResponse = "You can email us at support@company.com."; | |
| } else if (faq === 'business_hours') { | |
| botResponse = "We are open from 9 AM to 6 PM, Monday to Friday."; | |
| } else if (faq === 'reset_password') { | |
| botResponse = "Click on 'Forgot Password' on the login page."; | |
| } else if (faq === 'cancel_subscription') { | |
| botResponse = "You can cancel your subscription by visiting the 'Account Settings' page and selecting 'Cancel Subscription'."; | |
| } else if (faq === 'discounts') { | |
| botResponse = "We offer seasonal discounts and promotions. Keep an eye on our website or subscribe to our newsletter for updates."; | |
| } | |
| addMessage('bot', botResponse); | |
| } | |
| 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 = ''; | |
| // FAQ handling logic | |
| if (lastMessage.includes("how do i contact customer support")) { | |
| botResponse = "You can email us at support@company.com."; | |
| } 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 if (lastMessage.includes("how do i cancel my subscription")) { | |
| botResponse = "You can cancel your subscription by visiting the 'Account Settings' page and selecting 'Cancel Subscription'."; | |
| } else if (lastMessage.includes("are there any discounts available")) { | |
| botResponse = "We offer seasonal discounts and promotions. Keep an eye on our website or subscribe to our newsletter for updates."; | |
| } else { | |
| // Fallback for unrecognized input | |
| botResponse = "Sorry, I didn't understand that. Could you please clarify or ask a different question?"; | |
| } | |
| addMessage('bot', botResponse); | |
| } | |
| document.getElementById('userInput').addEventListener('keypress', function(e) { | |
| if (e.key === 'Enter') { | |
| sendMessage(); | |
| } | |
| }); | |
| // Show FAQ options after the greeting message | |
| window.onload = () => { | |
| addMessage('bot', "Hi there! I'm your assistant! How can I help you today?"); | |
| showFAQOptions(); | |
| }; | |
| console.log('Script loaded successfully'); | |