aboutsummaryrefslogtreecommitdiff
path: root/src_js/hatter/main.js
diff options
context:
space:
mode:
Diffstat (limited to 'src_js/hatter/main.js')
-rw-r--r--src_js/hatter/main.js29
1 files changed, 26 insertions, 3 deletions
diff --git a/src_js/hatter/main.js b/src_js/hatter/main.js
index 892b6af..3f64ed3 100644
--- a/src_js/hatter/main.js
+++ b/src_js/hatter/main.js
@@ -1,7 +1,7 @@
import bean from 'bean';
-import R from 'ramda';
import r from 'hatter/renderer';
+import * as util from 'hatter/util';
import * as common from 'hatter/common';
import * as vt from 'hatter/vt';
@@ -10,8 +10,31 @@ import 'style/main.scss';
function main() {
- let root = document.body.appendChild(document.createElement('div'));
- r.init(root, common.defaultState, vt.main);
+ let conn = new WebSocket(wsAddress);
+
+ conn.onopen = () => {
+ let root = document.body.appendChild(document.createElement('div'));
+ let state = util.set('conn', conn, common.defaultState);
+ r.init(root, state, vt.main);
+ };
+
+ conn.onclose = () => {
+ alert("Disconnected from server");
+ };
+
+ conn.onerror = () => {
+ alert("Couldn't connect to server");
+ };
+
+ conn.onmessage = (evt) => {
+ try {
+ let msg = JSON.parse(evt.data);
+ common.processMsg(msg);
+ } catch(e) {
+ conn.close();
+ throw e;
+ }
+ };
}