diff --git a/deltachat.js b/deltachat.js index c5564c7..9f32022 100644 --- a/deltachat.js +++ b/deltachat.js @@ -5,7 +5,7 @@ window.deltachat = (() => { var updateListener = () => {}; return { - selfAddr: () => "foo@bar.dex", + selfAddr: () => window.xdcSelfAddr || "device0@local.host", setUpdateListener: (cb) => (window.xdcUpdateListener = cb), getAllUpdates: () => { return JSON.parse( @@ -47,16 +47,26 @@ function addPeer() { var xdcChild = window.open(window.location); var xdcRoot = getXdcRoot(); xdcChild.xdcRoot = xdcRoot; + xdcChild.xdcSelfAddr = "device" + xdcRoot.allXdcWindows.length + "@local.host"; xdcRoot.allXdcWindows.push(xdcChild); } -function alterBody() { - var div = document.createElement('div'); - div.innerHTML = - '
' + - 'Add Peer' + - '
'; - document.getElementsByTagName('body')[0].append(div.firstChild); +function alterApp() { + var title = document.getElementsByTagName('title')[0]; + if (typeof title == 'undefined') { + title = document.createElement('title'); + document.getElementsByTagName('head')[0].append(title); + } + title.innerText = window.deltachat.selfAddr(); + + if (getXdcRoot() == window) { + var div = document.createElement('div'); + div.innerHTML = + '
' + + 'Add Peer' + + '
'; + document.getElementsByTagName('body')[0].append(div.firstChild); + } } -window.addEventListener("load", alterBody); +window.addEventListener("load", alterApp); diff --git a/index.html b/index.html index cb78510..d6e1b81 100644 --- a/index.html +++ b/index.html @@ -12,15 +12,15 @@ function sendMsg() { msg = document.getElementById("input").value; - window.deltachat.sendUpdate('someone typed "'+msg+'"', msg); + window.deltachat.sendUpdate('someone typed "'+msg+'"', {"addr": window.deltachat.selfAddr(), "msg": msg}); } function receiveUpdate(update) { - document.getElementById('output').innerHTML += update.payload + "
"; + document.getElementById('output').innerHTML += "<" + update.payload.addr + "> " + update.payload.msg + "
"; } window.deltachat.setUpdateListener(receiveUpdate); - \ No newline at end of file +