mirror of https://github.com/nealey/vail.git
158 lines
3.4 KiB
HTML
158 lines
3.4 KiB
HTML
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<title>Vail</title>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
|
||
<!-- Vail stuff -->
|
||
<link rel="manifest" href="manifest.json">
|
||
<link rel="icon" href="vail.png" sizes="256x256" type="image/png">
|
||
<link rel="icon" href="vail.svg" sizes="any" type="image/svg+xml">
|
||
<script type="module" src="vail.mjs"></script>
|
||
<link rel="stylesheet" href="vail.css">
|
||
<style>
|
||
.is-hidden {
|
||
display: none;
|
||
}
|
||
body {
|
||
color: white;
|
||
background: #000 url("space.png")
|
||
}
|
||
h1, h2 {
|
||
color: yellow;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<h1>Vail</h1>
|
||
<h2>A Morse Code Chat Server</h2>
|
||
|
||
<p>
|
||
Hi! You've reached Vail, a morse code chat server on the internet!
|
||
To get started, just click on the "key" button, and you'll be transmitting to whoever out there is listening!
|
||
</p>
|
||
|
||
<table>
|
||
<tr>
|
||
<td>
|
||
<button class="button key is-primary" data-key="0" title="right click for Key">
|
||
Key
|
||
</button>
|
||
(shortcuts:
|
||
<kbd title="keyboard button">.</kbd>
|
||
<kbd title="keyboard button">x</kbd>
|
||
)
|
||
</td>
|
||
<td>
|
||
<button class="button key is-primary" data-key="1" title="right click for Key">
|
||
Key
|
||
</button>
|
||
(shortcuts:
|
||
<kbd title="keyboard button">/</kbd>
|
||
<kbd title="keyboard button">z</kbd>
|
||
)
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<p>
|
||
Your current repeater is
|
||
<input class="input" type="text" id="repeater" list="repeater-list">
|
||
<datalist id="repeater-list">
|
||
<option>General</option>
|
||
<option value="1">Channel 1</option>
|
||
<option value="2">Channel 2</option>
|
||
<option value="3">Channel 3</option>
|
||
<option value="Null">No transmit</option>
|
||
<option>Echo</option>
|
||
<option>Echo 5s</option>
|
||
<option>Echo 10s</option>
|
||
<option>Fortunes</option>
|
||
<option>Fortunes: Pauses ×2</option>
|
||
<option>Fortunes: Pauses ×4</option>
|
||
<option>Fortunes: Pauses ×8</option>
|
||
</datalist>
|
||
</p>
|
||
|
||
<p>
|
||
<button id="recv">rx</button>
|
||
<output class="has-text-info" id="note"></output>
|
||
<br>
|
||
<i class="muted">
|
||
If you can read this, it means the browser needs you to click somewhere on this page
|
||
before it will start beeping!
|
||
</i>
|
||
</p>
|
||
|
||
|
||
<p>
|
||
Keyer mode:
|
||
<select id="keyer-mode">
|
||
<option value="cootie">Straight Key / Cootie</option>
|
||
<option value="bug">Bug</option>
|
||
<option value="elbug">ElBug</option>
|
||
<option value="singledot">Single Dot</option>
|
||
<option value="ultimatic">Ultimatic</option>
|
||
<option value="iambic">Iambic (Plain)</option>
|
||
<option value="iambica">Iambic A</option>
|
||
<option value="iambicb">Iambic B</option>
|
||
<option value="keyahead">Keyahead</option>
|
||
</select>
|
||
|
||
<br>
|
||
|
||
Keyer speed:
|
||
<input
|
||
id="keyer-rate"
|
||
type="number"
|
||
min="5"
|
||
max="40"
|
||
step="1"
|
||
value="12">
|
||
WPM
|
||
</p>
|
||
|
||
<h2>Knobs</h2>
|
||
|
||
<p>
|
||
<button id="ck" class="button is-primary">
|
||
CK
|
||
</button>
|
||
Send <code>CK</code> (check) to the repeater, and play when it comes back.
|
||
|
||
<br>
|
||
|
||
|
||
<button id="reset" class="button">
|
||
Reset
|
||
</button>
|
||
Reset all Vail preferences to default.
|
||
|
||
<br>
|
||
|
||
Receive delay:
|
||
<input
|
||
id="rx-delay"
|
||
type="number"
|
||
min="0"
|
||
max="10"
|
||
value="4"
|
||
step="0.1">
|
||
seconds
|
||
|
||
<br>
|
||
|
||
<label class="checkbox">
|
||
<input type="checkbox" id="telegraph-buzzer">
|
||
Telegraph sounds
|
||
</label>
|
||
|
||
</p>
|
||
|
||
<div class="bottom">
|
||
<div id="errors"></div>
|
||
</div>
|
||
</body>
|
||
</html>
|