101 lines
2.7 KiB
HTML
101 lines
2.7 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<style>
|
||
|
.chat-history {
|
||
|
height: 400px;
|
||
|
width: 33%;
|
||
|
overflow-y: scroll;
|
||
|
border: 1px solid black;
|
||
|
padding: 10px;
|
||
|
margin: 10px;
|
||
|
float: middle;
|
||
|
}
|
||
|
.chat-input {
|
||
|
width: 33%;
|
||
|
padding: 10px;
|
||
|
margin: 10px;
|
||
|
float: middle;
|
||
|
}
|
||
|
.user-info {
|
||
|
float: left;
|
||
|
width: 33%;
|
||
|
text-align: left;
|
||
|
margin: 10px;
|
||
|
height: 410px;
|
||
|
}
|
||
|
.user-info button {
|
||
|
display: block;
|
||
|
margin: 10px 0;
|
||
|
}
|
||
|
.chat-members {
|
||
|
width: 100%;
|
||
|
text-align: left;
|
||
|
margin: 10px;
|
||
|
border: 1px solid black;
|
||
|
padding: 10px;
|
||
|
height: 400px;
|
||
|
overflow-y: scroll;
|
||
|
float: right;
|
||
|
}
|
||
|
.clearfix::after {
|
||
|
content: "";
|
||
|
clear: both;
|
||
|
display: table;
|
||
|
}
|
||
|
</style>
|
||
|
</head>
|
||
|
<body>
|
||
|
<div class="chat-history" id="chatHistory"></div>
|
||
|
<div class="chat-input">
|
||
|
<textarea class="chat-input" id="chatInput"></textarea>
|
||
|
</div>
|
||
|
<div class="user-info">
|
||
|
<p id="userId">User ID: <span id="userIdValue">null</span></p>
|
||
|
<button id="generateIdButton">Generate ID</button>
|
||
|
<button id="saveNicknameButton">Save Nickname</button>
|
||
|
<div class="chat-members" id="chatMembers"></div>
|
||
|
</div>
|
||
|
<div class="clearfix"></div>
|
||
|
<script>
|
||
|
// generate a unique user id
|
||
|
document.getElementById("generateIdButton").addEventListener("click", function() {
|
||
|
const userIdValue = Date.now();
|
||
|
document.getElementById("userIdValue").innerHTML = userIdValue;
|
||
|
});
|
||
|
|
||
|
// save interlocutor id to nickname
|
||
|
document.getElementById("saveNicknameButton").addEventListener("click", function() {
|
||
|
// your code here
|
||
|
});
|
||
|
|
||
|
// update chat history
|
||
|
function updateChatHistory(message) {
|
||
|
const chatHistory = document.getElementById("chatHistory");
|
||
|
chatHistory.innerHTML += `<p>${message}</p>`;
|
||
|
chatHistory.scrollTop = chatHistory.scrollHeight;
|
||
|
}
|
||
|
|
||
|
// update chat members list
|
||
|
function updateChatMembers(members) {
|
||
|
const chatMembers = document.getElementById("chatMembers");
|
||
|
chatMembers.innerHTML = "";
|
||
|
members.forEach(member => {
|
||
|
chatMembers.innerHTML += `<p>${member}</p>`;
|
||
|
});
|
||
|
}
|
||
|
|
||
|
// handle enter key press in chat input
|
||
|
document.getElementById("chatInput").addEventListener("keydown", function(event) {
|
||
|
if (event.key === "Enter") {
|
||
|
const message = document.getElementById("chatInput").value;
|
||
|
updateChatHistory(message);
|
||
|
document.getElementById("chatInput").value = "";
|
||
|
}
|
||
|
});
|
||
|
</script>
|
||
|
</body>
|
||
|
</html>
|
||
|
|
||
|
|