test / static /index-ex.h
hamza82's picture
add dist into static
b131933
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Chat Interface</title>
<script>
// Function to handle sending messages and receiving responses
async function sendMessage() {
const inputElement = document.getElementById('messageInput');
const messagesContainer = document.getElementById('messages');
const message = inputElement.value.trim();
// Prevent sending empty messages
if (!message) return;
// Display the user's message
displayMessage(`You: ${message}`, 'user');
// Assuming the same '/custom-auth' endpoint is used for messages
try {
const response = await fetch('/custom-auth', {
method: 'POST', // Assuming you adjust your backend to accept POST for chat messages
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ message }),
});
const data = await response.json();
// Display the received response
displayMessage(`Server: ${data.response}`, 'server'); // Adjust 'data.response' based on your actual response structure
} catch (error) {
console.error('Error:', error);
displayMessage('Error sending message.', 'error');
}
// Clear the input field
inputElement.value = '';
}
// Function to display messages
function displayMessage(text, className) {
const messageElement = document.createElement('p');
messageElement.textContent = text;
messageElement.className = className;
document.getElementById('messages').appendChild(messageElement);
}
// Attach event listener to input field for the Enter key
document.addEventListener('DOMContentLoaded', () => {
const inputElement = document.getElementById('messageInput');
inputElement.addEventListener('keydown', (event) => {
if (event.key === 'Enter') {
sendMessage();
event.preventDefault(); // Prevent the default action to stop form submission
}
});
});
</script>
<style>
.user { color: blue; }
.server { color: green; }
.error { color: red; }
</style>
</head>
<body>
<h1>Chat with Server</h1>
<div id="messages" style="height: 300px; overflow-y: auto; border: 1px solid #ccc; padding: 10px; margin-bottom: 10px;"></div>
<input type="text" id="messageInput" placeholder="Type your message here and press Enter">
</body>
</html>
<!-- ################################################################################################## -->
<!-- <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Fetch API Example</title>
</head>
<body>
<h1>FastAPI Data Fetch Example</h1>
<button id="fetchApi">Fetch API Message</button>
<button id="fetchCustomAuth">Fetch Custom Auth Token</button>
<p id="apiResponse"></p>
<p id="authResponse"></p>
<script>
document.getElementById('fetchApi').onclick = function() {
fetch('/api')
.then(response => response.json())
.then(data => {
document.getElementById('apiResponse').textContent = 'API Response: ' + data.message;
})
.catch(error => console.error('Error fetching API data:', error));
};
document.getElementById('fetchCustomAuth').onclick = function() {
fetch('/custom-auth')
.then(response => response.json())
.then(data => {
document.getElementById('authResponse').textContent = 'Custom Auth Token: ' + data.token;
})
.catch(error => console.error('Error fetching custom auth token:', error));
};
</script>
</body>
</html> -->
<!-- ############################################################################################################################# -->
<!-- <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FastAPI & Chainlit Integration</title>
<script>
// Function to call the custom-auth API and display the token
async function callCustomAuthApi() {
try {
const response = await fetch('/api');
const data = await response.json();
document.getElementById('apiResponse').innerText = 'Token: ' + data.token;
} catch (error) {
console.error('Error:', error);
document.getElementById('apiResponse').innerText = 'Failed to fetch token.';
}
}
</script>
</head>
<body>
<h1>FastAPI & Chainlit Integration</h1>
<button onclick="callCustomAuthApi()">Get Auth Token</button>
<p id="apiResponse"></p>
</body>
</html>
-->