diff options
Diffstat (limited to 'webapp')
-rw-r--r-- | webapp/src/Main.scala | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/webapp/src/Main.scala b/webapp/src/Main.scala index 5aa2f2b..7aa1322 100644 --- a/webapp/src/Main.scala +++ b/webapp/src/Main.scala @@ -5,9 +5,30 @@ import scalajs.js.annotation @annotation.JSExportTopLevel("Main") object Main { + object Templates extends Templates(scalatags.JsDom) + @annotation.JSExport - def func() = { - dom.console.log("hello from ScalaJS!") + def main() = { + + val container = dom.document.getElementById("conversation") + val address = { + val location = dom.window.location + val protocol = if (location.protocol == "https:") { + "wss" + } else { + "ws" + } + s"$protocol://${location.host}/feed" + } + val ws = new dom.WebSocket(address) + + ws.onmessage = event => { + val msg = upickle.default.read[Message]( + event.data.asInstanceOf[String]) + + container.appendChild(Templates.message(msg).render) + dom.window.scrollTo(0, dom.document.body.scrollHeight) + } } } |