Spaces:
Sleeping
Sleeping
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>AI Chat</title> | |
<style> | |
body { | |
font-family: Arial, sans-serif; | |
background-color: #f4f4f9; | |
margin: 0; | |
padding: 0; | |
} | |
.chat-container { | |
max-width: 600px; | |
margin: 50px auto; | |
padding: 20px; | |
background-color: white; | |
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); | |
border-radius: 8px; | |
} | |
.chat-box { | |
max-height: 400px; | |
overflow-y: auto; | |
padding: 10px; | |
background-color: #fafafa; | |
border-radius: 8px; | |
margin-bottom: 20px; | |
} | |
.user-message, .bot-message { | |
padding: 10px; | |
margin-bottom: 10px; | |
border-radius: 8px; | |
} | |
.user-message { | |
background-color: #e1f5fe; | |
align-self: flex-end; | |
text-align: right; | |
} | |
.bot-message { | |
background-color: #f1f1f1; | |
align-self: flex-start; | |
text-align: left; | |
} | |
.input-box { | |
display: flex; | |
justify-content: space-between; | |
align-items: center; | |
border-top: 1px solid #ddd; | |
padding: 10px; | |
} | |
.input-box input { | |
width: 80%; | |
padding: 10px; | |
border-radius: 4px; | |
border: 1px solid #ddd; | |
} | |
.input-box button { | |
padding: 10px; | |
background-color: #007BFF; | |
color: white; | |
border: none; | |
border-radius: 4px; | |
cursor: pointer; | |
} | |
.input-box button:hover { | |
background-color: #0056b3; | |
} | |
</style> | |
</head> | |
<body> | |
<div class="chat-container"> | |
<div class="chat-box" id="chat-box"></div> | |
<div class="input-box"> | |
<input type="text" id="user-input" placeholder="Type a message..." /> | |
<button onclick="sendMessage()">Send</button> | |
</div> | |
</div> | |
<script> | |
const chatBox = document.getElementById('chat-box'); | |
const userInput = document.getElementById('user-input'); | |
// Function to add message to the chat box | |
function addMessage(message, type) { | |
const messageDiv = document.createElement('div'); | |
messageDiv.classList.add(type + '-message'); | |
messageDiv.innerText = message; | |
chatBox.appendChild(messageDiv); | |
chatBox.scrollTop = chatBox.scrollHeight; // Scroll to the bottom | |
} | |
// Function to send a message to the backend | |
function sendMessage() { | |
const message = userInput.value.trim(); | |
if (message === '') return; | |
addMessage(message, 'user'); | |
userInput.value = ''; // Clear input field | |
// Send the message to the backend | |
fetch('/generate', { | |
method: 'POST', | |
headers: { | |
'Content-Type': 'application/x-www-form-urlencoded' | |
}, | |
body: `message=${encodeURIComponent(message)}` | |
}) | |
.then(response => response.json()) | |
.then(data => { | |
addMessage(data.response, 'bot'); | |
}) | |
.catch(error => { | |
console.error('Error:', error); | |
}); | |
} | |
// Enable enter key to send message | |
userInput.addEventListener('keydown', (e) => { | |
if (e.key === 'Enter') { | |
sendMessage(); | |
} | |
}); | |
</script> | |
</body> | |
</html> | |