Spaces:
Running
Running
| <html> | |
| <head> | |
| <title>Landon Hotel Chatbot</title> | |
| <style> | |
| /* CSS styles for the chatbot interface */ | |
| #chat-container { | |
| width: 400px; | |
| height: 500px; | |
| border: 1px solid #ccc; | |
| overflow-y: scroll; | |
| padding: 10px; | |
| } | |
| .message { | |
| margin-bottom: 10px; | |
| } | |
| .user { | |
| font-weight: bold; | |
| color: blue; | |
| } | |
| .bot { | |
| font-weight: bold; | |
| color: green; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <h1>Landon Hotel Chatbot</h1> | |
| <div id="chat-container"></div> | |
| <input type="text" id="user-input" placeholder="Type your message..." /> | |
| <button id="send-btn">Send</button> | |
| <script> | |
| const chatContainer = document.getElementById('chat-container'); | |
| const userInput = document.getElementById('user-input'); | |
| const sendBtn = document.getElementById('send-btn'); | |
| sendBtn.addEventListener('click', sendMessage); | |
| function sendMessage() { | |
| const userMessage = userInput.value.trim(); | |
| if (userMessage) { | |
| displayMessage('user', userMessage); | |
| sendMessageToServer(userMessage); | |
| userInput.value = ''; | |
| } | |
| } | |
| function displayMessage(sender, message) { | |
| const messageElement = document.createElement('div'); | |
| messageElement.classList.add('message'); | |
| messageElement.classList.add(sender); | |
| messageElement.textContent = `${sender}: ${message}`; | |
| chatContainer.appendChild(messageElement); | |
| chatContainer.scrollTop = chatContainer.scrollHeight; | |
| } | |
| function sendMessageToServer(message) { | |
| fetch('/chatbot', { | |
| method: 'POST', | |
| headers: { | |
| 'Content-Type': 'application/json', | |
| }, | |
| body: JSON.stringify({ question: message }), | |
| }) | |
| .then((response) => response.json()) | |
| .then((data) => { | |
| displayMessage('bot', data.response); | |
| }) | |
| .catch((error) => { | |
| console.error('Error:', error); | |
| }); | |
| } | |
| </script> | |
| </body> | |
| </html> |