git ssb

0+

ev / minbase



Tree: c4e6d69c2cdcc875fc3ac222471b3c5d55810b77

Files: c4e6d69c2cdcc875fc3ac222471b3c5d55810b77 / modules / post.js

1879 bytesRaw
1var h = require('hyperscript')
2var messageLink = require('./helpers').message_link
3var markdown = require('./helpers').markdown
4
5var pull = require('pull-stream')
6
7var query = require('./scuttlebot').query
8var id = require('./../keys').id
9var timestamp = require('./helpers').timestamp
10
11exports.gives = 'message_content'
12
13exports.needs = {message_compose: 'first' }
14
15exports.create = function (api) {
16 return function (data) {
17 if(!data.value.content || !data.value.content.text) return
18 if(data.value.content.type === 'edit') return
19
20 function re (data) {
21 var root = data.value.content.root
22 if (root)
23 return h('span', 're: ', messageLink(root))
24 }
25
26 var meta = {
27 type: 'edit',
28 edited: data.key
29 }
30
31 var original = data
32
33 function getEditor (data) {
34 if (data.value.author == id) {
35 return h('span.editor', api.message_compose(meta, {text: data.value.content.text}))
36 } else { return h('span.editor','')}
37 }
38
39 var message =
40 h('div',
41 re(data),
42 h('div.innercontent',
43 h('span.edited', 'Unedited'),
44 markdown(data.value.content.text)
45 )
46 )
47
48 pull(query({query: [{$filter: { value: { author: data.value.author, content: {type: 'edit', edited: data.key}}}}], limit: 100}),
49 pull.collect(function (err, data){
50 if(data[0]) {
51 var fin = data.length
52 for (var i = 0; i < fin; i++) {
53 edited = data[i]
54 message.appendChild(
55 h('div.innercontent',
56 h('span.edited', 'Edited ', timestamp(edited)),
57 markdown(edited.value.content.text)
58 )
59 )
60 }
61 message.appendChild(getEditor(data[fin - 1]))
62 } else {
63 message.appendChild(getEditor(original))
64 }
65 })
66 )
67
68 return message
69 }
70}
71
72
73

Built with git-ssb-web