189 lines
4.6 KiB
HTML
189 lines
4.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang='en'>
|
|
<head>
|
|
<meta charset='UTF-8'/>
|
|
<meta content='width=device-width, initial-scale=1.0' name='viewport'/>
|
|
<title>JS-Waku light chat</title>
|
|
<style>
|
|
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
word-wrap: break-word;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
html, body {
|
|
width: 100%;
|
|
height: 100%;
|
|
max-width: 100%;
|
|
max-height: 100%;
|
|
}
|
|
|
|
html {
|
|
font-size: 16px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
body {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 10px;
|
|
justify-content: center;
|
|
}
|
|
|
|
details {
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
details p {
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
summary {
|
|
cursor: pointer;
|
|
max-width: 100%;
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
span {
|
|
font-weight: 300;
|
|
}
|
|
|
|
input, textarea {
|
|
line-height: 1rem;
|
|
padding: 5px;
|
|
}
|
|
|
|
textarea {
|
|
min-height: 3rem;
|
|
}
|
|
|
|
h3 {
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
.content {
|
|
width: 800px;
|
|
min-width: 300px;
|
|
max-width: 800px;
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-content: space-between;
|
|
}
|
|
|
|
#messages {
|
|
overflow-y: scroll;
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
.message + .message {
|
|
margin-top: 15px;
|
|
}
|
|
|
|
.message :first-child {
|
|
font-weight: bold;
|
|
}
|
|
|
|
.message p + p {
|
|
margin-top: 5px;
|
|
}
|
|
|
|
.message span {
|
|
font-size: 0.8rem;
|
|
}
|
|
|
|
.inputArea {
|
|
display: flex;
|
|
gap: 10px;
|
|
flex-direction: column;
|
|
margin-top: 20px;
|
|
}
|
|
|
|
.controls {
|
|
margin-top: 10px;
|
|
display: flex;
|
|
gap: 10px;
|
|
}
|
|
|
|
.controls button {
|
|
flex-grow: 1;
|
|
cursor: pointer;
|
|
padding: 10px;
|
|
}
|
|
|
|
#send {
|
|
background-color: #32d1a0;
|
|
border: none;
|
|
color: white;
|
|
}
|
|
#send:hover {
|
|
background-color: #3abd96;
|
|
}
|
|
#send:active {
|
|
background-color: #3ba183;
|
|
}
|
|
|
|
#exit {
|
|
color: white;
|
|
border: none;
|
|
background-color: #ff3a31;
|
|
}
|
|
#exit:hover {
|
|
background-color: #e4423a;
|
|
}
|
|
#exit:active {
|
|
background-color: #c84740;
|
|
}
|
|
|
|
.footer {
|
|
display: flex;
|
|
width: 100%;
|
|
flex-direction: column;
|
|
align-self: flex-end;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<div class="content">
|
|
<div class="header">
|
|
<h3>Status: <span id='status'></span></h3>
|
|
|
|
<details>
|
|
<summary>Peer's information</summary>
|
|
|
|
<h4>Content topic</h4>
|
|
<p id='contentTopic'></p>
|
|
|
|
<h4>Local Peer Id</h4>
|
|
<p id='localPeerId'></p>
|
|
|
|
<h4>Remote Peer Id</h4>
|
|
<p id='remotePeerId'></p>
|
|
|
|
<h4>Remote peer's multiaddr</h4>
|
|
<p id='remoteMultiAddr'></p>
|
|
</details>
|
|
</div>
|
|
|
|
<div id="messages"></div>
|
|
|
|
<div class="footer">
|
|
<div class="inputArea">
|
|
<input type="text" id="nickText" placeholder="Nickname" />
|
|
<textarea id="messageText" placeholder="Message"></textarea>
|
|
</div>
|
|
|
|
<div class="controls">
|
|
<button id="send">Send</button>
|
|
<button id="exit">Exit chat</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="//cdn.jsdelivr.net/npm/protobufjs@7.X.X/dist/protobuf.min.js"></script>
|
|
<script type='module' src="./index.js"></script>
|
|
</body>
|
|
</html>
|