git ssb

2+

ev / mvd



Commit 92f21680230af434fa835cd7d38953a9e0320410

initial mutable messages

Ev Bogue committed on 5/2/2018, 5:57:15 PM
Parent: 30b8296223f75e62735b9a3b804ff6d9f7c27697

Files changed

bin.jschanged
compose.jschanged
render.jschanged
tools.jschanged
bin.jsView
@@ -32,9 +32,8 @@
3232 .use(require('scuttlebot/plugins/replicate'))
3333 .use(require('ssb-friends'))
3434 .use(require('ssb-blobs'))
3535 .use(require('ssb-query'))
36- .use(require('ssb-backlinks'))
3736 .use(require('ssb-links'))
3837 .use(require('ssb-ebt'))
3938 .use(require('ssb-ooo'))
4039 .use(require('scuttlebot/plugins/invite'))
compose.jsView
@@ -41,10 +41,12 @@
4141
4242 var composer = h('div.composer')
4343
4444 var container = h('div.container')
45-
46- var textarea = h('textarea.compose', {placeholder: 'Write a message' || opts.placeholder})
45 + if (opts.messageText)
46 + var textarea = h('textarea.compose', opts.messageText)
47 + else
48 + var textarea = h('textarea.compose', {placeholder: 'Write a message' || opts.placeholder})
4749
4850 var initialButtons = h('span',
4951 h('button.btn', 'Preview', {
5052 onclick: function () {
@@ -53,12 +55,16 @@
5355 msg.value = {
5456 "author": id,
5557 "content": {
5658 "type": opts.type,
57- "root": opts.root,
58- "branch": opts.branch
59 + "root": opts.root
5960 }
6061 }
62 + if (opts.original)
63 + msg.value.content.original = opts.original
64 + if (opts.updated)
65 + msg.value.content.updated = opts.updated
66 +
6167 msg.value.content.text = textarea.value
6268 console.log(msg)
6369
6470 var preview = h('div',
render.jsView
@@ -7,17 +7,17 @@
77 var composer = require('./compose')
88
99 var tools = require('./tools')
1010
11 +var id = require('./keys').id
12 +
1113 module.exports = function (msg) {
1214 var opts = {}
1315 opts.root = null
1416 var message = h('div.message')
1517
1618
1719 if (msg.value.content.type == 'post') {
18-
19-
2020 opts.type = 'post'
2121 opts.branch = msg.key
2222
2323 message.appendChild(tools.header(msg))
@@ -30,15 +30,56 @@
3030
3131 message.appendChild(
3232 h('div.message__body', tools.markdown(msg.value.content.text))
3333 )
34 +
35 + if (msg.value.author == id) {
36 + opts.type = 'update'
37 + opts.updated = msg.key
38 + opts.messageText = msg.value.content.text
39 + pull(
40 + sbot.query({query: [{$filter: {value: {content: {type: 'update', updated: msg.key}}}}]}),
41 + pull.drain(function (update) {
42 + var latest = h('div.message__body', tools.markdown(update.value.content.text))
43 + message.replaceChild(latest, message.childNodes[2])
44 + opts.messageText = update.value.content.text
45 + })
3446
35- message.appendChild(h('button.btn', 'Reply', {
36- onclick: function () {
37- var compose = composer(opts)
38- message.replaceChild(compose, message.lastElementChild)
39- }
40- }))
47 + )
48 +
49 +
50 + if (msg.value.content.original)
51 + opts.original = msg.value.content.original
52 + else
53 + opts.original = msg.key
54 + message.appendChild(h('button.btn', 'Edit', {
55 + onclick: function () {
56 + var compose = h('div.message', composer(opts))
57 + message.parentNode.replaceChild(compose, message)
58 + }
59 + }))
60 + } else {
61 + opts.type = 'post'
62 + opts.branch = msg.key
63 +
64 + pull(
65 + sbot.query({query: [{$filter: {value: {content: {type: 'update', updated: msg.key}}}}]}),
66 + pull.drain(function (data) {
67 + console.log(data)
68 + var latest = h('div.message__body', tools.markdown(data.value.content.text))
69 + message.replaceChild(latest, message.childNodes[2])
70 + })
71 +
72 + )
73 +
74 +
75 + message.appendChild(h('button.btn', 'Reply', {
76 + onclick: function () {
77 + var compose = composer(opts)
78 + message.replaceChild(compose, message.lastElementChild)
79 + }
80 + }))
81 + }
4182 return message
4283 } else if (msg.value.content.type == 'vote') {
4384 message.appendChild(tools.header(msg))
4485 var embed = msg.value.content.vote.link
@@ -60,10 +101,10 @@
60101 }
61102 })
62103 return message
63104 } else {
64- //message.appendChild(tools.header(msg))
65- //message.appendChild(h('pre', tools.rawJSON(msg.value.content)))
66- //return message
67- return
105 + message.appendChild(tools.header(msg))
106 + message.appendChild(h('pre', tools.rawJSON(msg.value.content)))
107 + return message
108 + //return
68109 }
69110 }
tools.jsView
@@ -12,14 +12,12 @@
1212 function votes (msg) {
1313 var votes = h('div.votes')
1414 if (msg.key) {
1515 pull(
16- sbot.backlinks({query: [{$filter: {dest: msg.key, value: { content: { type: 'vote' }}}}], live: true}),
16 + sbot.links({dest: msg.key, rel: 'vote'}),
1717 pull.drain(function (data) {
18- console.log(data)
19- if (data.value) {
18 + if (data) {
2019 votes.appendChild(h('a', {href:'#' + data.key}, h('img.emoji', {src: config.emojiUrl + 'star.png'})))
21- console.log(data)
2220 } else {console.log(data)}
2321 })
2422 )
2523 }

Built with git-ssb-web