blahrs/test-frontend/index.html
2024-10-01 06:50:53 -04:00

151 lines
3.5 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Blah testing frontend</title>
<script src="./main.js" defer></script>
<style>
@media screen and (max-width: 50em) {
body {
flex-direction: column;
}
#sidebar {
width: auto !important;
border-bottom: 1px solid grey;
border-right: none !important;
flex: .5;
}
}
input, select {
min-width: 0;
}
body {
display: flex;
height: 100vh;
margin: 0;
font-family: monospace;
}
input {
text-overflow: ellipsis;
}
#sidebar {
padding: .5em;
width: 25em;
display: flex;
flex-direction: column;
border-right: 1px solid grey;
& label {
margin-left: 0;
}
& > #rooms, & > #room-members {
flex: 1;
}
}
.label-input {
display: flex;
flex-direction: row;
& > label {
margin: auto .5em;
}
& > input, & > select {
flex: 1;
}
}
#mainbar {
flex: 1;
display: flex;
flex-direction: column;
& > .flow {
padding: .5em;
overflow: scroll;
border-bottom: 1px solid grey;
& > * {
display: block;
}
}
}
#log-flow {
flex: 1;
}
#msg-flow {
flex: 2;
}
.log {
margin: auto;
font-style: italic;
&::before {
content: "«";
}
&::after {
content: "»";
}
}
</style>
</head>
<body>
<div id="sidebar">
<div class="label-input">
<label for="id-url">id_url:</label>
<input type="url" id="id-url" placeholder="https://example.com" />
<button id="register">register</button>
</div>
<div class="label-input">
<label for="id-pubkey">id_pubkey :</label>
<input type="text" id="id-pubkey" placeholder="-" />
</div>
<div class="label-input">
<label for="act-pubkey">act_pubkey:</label>
<input type="text" id="act-pubkey" placeholder="-" readonly disabled />
<button id="regen-key">regenerate</button>
</div>
<div class="label-input">
<label for="server-url">server url:</label>
<input
type="url"
id="server-url"
placeholder="https://example.com"
pattern="https:\/\/[^\/]*\/?"
required
/>
</div>
<div>
<label for="rooms">rooms:</label>
<button id="refresh-rooms">refresh room list</button>
</div>
<select id="rooms" size="2"></select>
<div class="label-input">
<label for="join-new-room">join new room:</label>
<select id="join-new-room"></select>
</div>
<label for="room-members">members:</label>
<select id="room-members" size="2"></select>
</div>
<div id="mainbar">
<div id="log-flow" class="flow">
<noscript>
<span class="log">javascript is required</span>
</noscript>
</div>
<div id="msg-flow" class="flow">
</div>
<div class="label-input">
<label for="chat">chat:</label>
<input type="text" id="chat" placeholder="message or raw JSON" />
<button id="mark-seen">mark history seen</button>
<button id="leave-room">leave room</button>
</div>
</div>
</body>
</html>