render.jsView |
---|
6 | 6 … | |
7 | 7 … | var markdown = require('ssb-markdown') |
8 | 8 … | var config = require('./config')() |
9 | 9 … | |
| 10 … | +var render = require('./render') |
| 11 … | + |
10 | 12 … | function rawJSON (obj) { |
11 | 13 … | return JSON.stringify(obj, null, 2) |
12 | 14 … | .split(/([%@&][a-zA-Z0-9\/\+]{43}=*\.[\w]+)/) |
13 | 15 … | .map(function (e) { |
19 | 21 … | } |
20 | 22 … | |
21 | 23 … | module.exports = function (msg) { |
22 | 24 … | if (msg.value.content.type == 'post') { |
23 | | - return h('div.message__content', |
| 25 … | + return h('div.message', |
24 | 26 … | h('span.avatar', |
25 | 27 … | h('a', {href: '#' + msg.value.author}, |
26 | 28 … | h('span.avatar--small', avatar.image(msg.value.author)), |
27 | 29 … | avatar.name(msg.value.author) |
29 | 31 … | ), |
30 | 32 … | h('span.timestamp', h('a', {href: '#' + msg.key}, human(new Date(msg.value.timestamp)))), |
31 | 33 … | h('div.message__body', |
32 | 34 … | {innerHTML: markdown.block(msg.value.content.text, {toUrl: function (url, image) { |
| 35 … | + if(url[0] == '@') return '#' + url |
| 36 … | + if(url[0] == '%') return '#' + url |
33 | 37 … | if(!image) return url |
34 | 38 … | if(url[0] !== '&') return url |
35 | 39 … | return config.blobsurl + url |
36 | 40 … | }})} |
37 | 41 … | ) |
38 | 42 … | ) |
| 43 … | + } else if (msg.value.content.type == 'vote') { |
| 44 … | + var embed = msg.value.content.vote.link |
| 45 … | + |
| 46 … | + var embedded = h('div.embedded') |
| 47 … | + |
| 48 … | + sbot.get(embed, function (err, msg) { |
| 49 … | + if (err) {console.log('could not find message locally, try ooo?') } |
| 50 … | + console.log(msg) |
| 51 … | + msg.value = msg |
| 52 … | + msg.key = embed |
| 53 … | + if (msg.value.content.text) { |
| 54 … | + embedded.appendChild( |
| 55 … | + h('div.message', |
| 56 … | + h('span.avatar', |
| 57 … | + h('a', {href: '#' + msg.value.author}, |
| 58 … | + h('span.avatar--small', avatar.image(msg.value.author)), |
| 59 … | + avatar.name(msg.value.author) |
| 60 … | + ) |
| 61 … | + ), |
| 62 … | + h('span.timestamp', h('a', {href: '#' + msg.key}, human(new Date(msg.value.timestamp)))), |
| 63 … | + h('div.message__body', |
| 64 … | + {innerHTML: markdown.block(msg.value.content.text, {toUrl: function (url, image) { |
| 65 … | + if(url[0] == '@') return '#' + url |
| 66 … | + if(url[0] == '%') return '#' + url |
| 67 … | + if(!image) return url |
| 68 … | + if(url[0] !== '&') return url |
| 69 … | + return config.blobsUrl + url |
| 70 … | + }})} |
| 71 … | + ) |
| 72 … | + ) |
| 73 … | + ) |
| 74 … | + } |
| 75 … | + }) |
| 76 … | + return h('div.message', |
| 77 … | + h('span.avatar', |
| 78 … | + h('a', {href: '#' + msg.value.author}, |
| 79 … | + h('span.avatar--small', avatar.image(msg.value.author)), |
| 80 … | + avatar.name(msg.value.author) |
| 81 … | + ), h('img.emoji', {src: config.emojiUrl + 'star.png'}) |
| 82 … | + ), |
| 83 … | + h('span.timestamp', h('a', {href: '#' + msg.key}, human(new Date(msg.value.timestamp)))), |
| 84 … | + h('div.message__body', embedded) |
| 85 … | + ) |
39 | 86 … | } else { |
40 | | - return h('div.message__content', |
| 87 … | + return h('div.message', |
41 | 88 … | h('span.avatar', |
42 | 89 … | h('a', {href: '#' + msg.value.author}, |
43 | 90 … | h('span.avatar--small', avatar.image(msg.value.author)), |
44 | 91 … | avatar.name(msg.value.author) |