git ssb

2+

ev / mvd



Tree: a4b97d03ce9156f38cf2335b8ca41d935bb91615

Files: a4b97d03ce9156f38cf2335b8ca41d935bb91615 / render.js

2270 bytesRaw
1var h = require('hyperscript')
2var markdown = require('ssb-markdown')
3var config = require('./config')()
4
5var sbot = require('./scuttlebot')
6var composer = require('./compose')
7
8var tools = require('./rendertools')
9
10module.exports = function (msg) {
11 var opts = {}
12 opts.root = null
13 var message = h('div.message')
14 if (msg.value.content.type == 'post') {
15 message.appendChild(tools.header(msg))
16 opts.type = 'post'
17 if (msg.value.content.root) {
18 message.appendChild(h('span', 're: ', tools.messageLink(msg.value.content.root)))
19 opts.root = msg.value.content.root
20 } else { opts.root = msg.key}
21 message.appendChild(h('div.message__body',
22 {innerHTML: markdown.block(msg.value.content.text, {toUrl: function (url, image) {
23 if(url[0] == '%' || url[0] == '@') return '#' + url
24 if(!image) return url
25 if(url[0] !== '&') return url
26 return config.blobsUrl + url
27 }})}
28 )
29 )
30 message.appendChild(h('button.btn', 'Reply', {
31 onclick: function () {
32 var compose = composer(opts)
33 message.replaceChild(compose, message.lastElementChild)
34 }
35 }))
36 return message
37 } else if (msg.value.content.type == 'vote') {
38 message.appendChild(tools.header(msg))
39 var embed = msg.value.content.vote.link
40
41 var embedded = h('div.embedded')
42 sbot.get(embed, function (err, msg) {
43 if (err) {console.log('could not find message locally, try ooo?') }
44 msg.value = msg
45 msg.key = embed
46 if (msg.value.content.text) {
47 message.appendChild(embedded)
48 embedded.appendChild(tools.header(msg))
49 embedded.appendChild(h('div.message__body',
50 {innerHTML: markdown.block(msg.value.content.text.substring(0, 256) + '... ', {toUrl: function (url, image) {
51 if(url[0] == '@') return '#' + url
52 if(url[0] == '%') return '#' + url
53 if(!image) return url
54 if(url[0] !== '&') return url
55 return config.blobsUrl + url
56 }})}, tools.messageLink(msg.key)
57 ))
58 }
59 })
60 return message
61 } else {
62 //message.appendChild(tools.header(msg))
63 //message.appendChild(h('pre', tools.rawJSON(msg.value.content)))
64 //return message
65 return
66 }
67}
68

Built with git-ssb-web