git ssb

0+

ev / microbay



forked from Dominic / patchbay

Tree: 2a990899321f909f52dce13715ee580d1e8507b6

Files: 2a990899321f909f52dce13715ee580d1e8507b6 / modules / message.js

1490 bytesRaw
1var h = require('hyperscript')
2var u = require('../util')
3var pull = require('pull-stream')
4
5
6
7var plugs = require('../plugs')
8var message_content = plugs.first(exports.message_content = [])
9var avatar = plugs.first(exports.avatar = [])
10var message_meta = plugs.map(exports.message_meta = [])
11var message_action = plugs.map(exports.message_action = [])
12var message_link = plugs.first(exports.message_link = [])
13
14var sbot_links = plugs.first(exports.sbot_links = [])
15
16exports.message_render = function (msg, sbot) {
17 var el = message_content(msg)
18 if(!el) return
19
20 var backlinks = h('div.backlinks')
21
22 pull(
23 sbot_links({dest: msg.key, rel: 'mentions', keys: true}),
24 pull.collect(function (err, links) {
25 if(links.length)
26 backlinks.appendChild(h('label', 'backlinks:',
27 h('div', links.map(function (link) {
28 return message_link(link.key)
29 }))
30 ))
31 })
32 )
33
34 var msg = h('div.message',
35 h('div.title.row',
36 h('div.avatar', avatar(msg.value.author)),
37 h('div.message_meta.row', message_meta(msg))
38 ),
39 h('div.message_content', el),
40 h('div.message_actions.row',
41 h('div.actions', message_action(msg))
42 ),
43 backlinks,
44 {onkeydown: function (ev) {
45 //on enter, hit first meta.
46 if(ev.keyCode == 13) {
47 msg.querySelector('.enter').click()
48 }
49 }}
50 )
51
52 // ); hyperscript does not seem to set attributes correctly.
53 msg.setAttribute('tabindex', '0')
54
55 return msg
56}
57
58
59
60
61
62

Built with git-ssb-web