diff options
Diffstat (limited to 'shardweb/assets/js/app.js')
-rw-r--r-- | shardweb/assets/js/app.js | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/shardweb/assets/js/app.js b/shardweb/assets/js/app.js index 1e5ea62..f3372f1 100644 --- a/shardweb/assets/js/app.js +++ b/shardweb/assets/js/app.js @@ -20,7 +20,9 @@ import "phoenix_html" import socket from "./socket" -import routes from './phoenix-jsroutes' +function parse_links(msg) { + return msg.replace(/shard:file:([0-9A-F]{64})/gi, '<a href="/raw/$1">$&</a>'); +} var chat_channel = window.Gon.getAsset('chat_channel'); if (chat_channel != undefined) @@ -30,7 +32,7 @@ if (chat_channel != undefined) channel.on('shout', function (payload) { // listen to the 'shout' event var li = document.createElement("li"); // creaet new list item DOM element var name = payload.name || 'guest'; // get name from payload or set default - li.innerHTML = '<b><' + name + '</b> <a href="' + routes.identityView(payload.fullpk) + '"><small>' + payload.pk16 + '</small></a><b>></b> ' + payload.message; // set li contents + li.innerHTML = '<b><' + name + '</b> <a href="/people/' + payload.fullpk + '"><small>' + payload.pk16 + '</small></a><b>></b> ' + parse_links(payload.message); // set li contents // console.log(ul.scrollTop + ' ' + ul.scrollHeight + ' ' + ul.clientHeight); var must_scroll = (ul.scrollTop >= ul.scrollHeight - ul.clientHeight - 10); |