mirror of
https://github.com/amark/gun.git
synced 2026-02-28 14:13:25 +00:00
22 lines
977 B
HTML
22 lines
977 B
HTML
<!DOCTYPE html>
|
|
<ul id='list'></ul>
|
|
<form id='form'>
|
|
<input id='input' placeholder='say'>
|
|
<input type='submit' value='send'>
|
|
</form>
|
|
<script src="../../../gun/gun.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/emojione@4.0.0/lib/js/emojione.min.js"></script>
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/emojione@4.0.0/extras/css/emojione.min.css"/>
|
|
<script>
|
|
gun = Gun(location.origin + '/gun'), chat = gun.get("chat/" + location.hash.slice(1));
|
|
form.onsubmit = (eve) => { eve.preventDefault(), chat.set(input.value), input.value = "" }
|
|
chat.map().once((msg) => { render(msg) });
|
|
function render(msg, li, beep){ // render emoji, scroll to bottom, and notify sound!
|
|
(li = document.createElement("li")).innerText = emojione.shortnameToUnicode(msg);
|
|
list.appendChild(li);
|
|
window.scroll(0, list.offsetHeight);
|
|
(beep = new SpeechSynthesisUtterance()).text = "new";
|
|
beep.rate = 10; beep.pitch = 2;
|
|
window.speechSynthesis.speak(beep);
|
|
}
|
|
</script> |