Commit 84ba00f843d2ade9e33ea85b6ece83da282514c0
handle private messages, and public mentions within compose
Ev Bogue committed on 6/11/2018, 9:28:12 PMParent: e63daf47ce2227a1684f6560aae950ed93881725
Files changed
compose.js | changed |
compose.js | |||
---|---|---|---|
@@ -2,8 +2,9 @@ | |||
2 | 2 … | var pull = require('pull-stream') | |
3 | 3 … | var sbot = require('./scuttlebot') | |
4 | 4 … | var human = require('human-time') | |
5 | 5 … | var id = require('./keys').id | |
6 … | +var mentions = require('ssb-mentions') | ||
6 | 7 … | ||
7 | 8 … | var tools = require('./tools') | |
8 | 9 … | ||
9 | 10 … | var mime = require('simple-mime')('application/octect-stream') | |
@@ -43,17 +44,22 @@ | |||
43 | 44 … | ||
44 | 45 … | var composer = h('div.composer') | |
45 | 46 … | var container = h('div.container') | |
46 | 47 … | ||
47 | - if (opts.type == 'post') | ||
48 … | + if (opts.mentions) { | ||
49 … | + var textarea = h('textarea.compose', opts.mentions) | ||
50 … | + } | ||
51 … | + | ||
52 … | + else if (opts.type == 'post') | ||
48 | 53 … | var textarea = h('textarea.compose', {placeholder: opts.placeholder || 'Write a message'}) | |
49 | 54 … | else | |
50 | 55 … | var textarea = h('textarea.compose', {placeholder: opts.placeholder || 'Write a message'}, fallback.messageText) | |
51 | 56 … | ||
52 | 57 … | var cancelBtn = h('button.btn', 'Cancel', { | |
53 | 58 … | onclick: function () { | |
54 | 59 … | var cancel | |
55 | 60 … | console.log(opts) | |
61 … | + | ||
56 | 62 … | if (opts.type == 'edit') { | |
57 | 63 … | cancel = document.getElementById('edit:' + opts.branch.substring(0,44)) | |
58 | 64 … | var oldMessage = h('div.message__body', tools.markdown(fallback.messageText)) | |
59 | 65 … | cancel.parentNode.replaceChild(oldMessage, cancel) | |
@@ -82,10 +88,24 @@ | |||
82 | 88 … | msg.value = { | |
83 | 89 … | "author": id, | |
84 | 90 … | "content": opts | |
85 | 91 … | } | |
86 | - | ||
92 … | + | ||
87 | 93 … | msg.value.content.text = textarea.value | |
94 … | + msg.value.content.mentions = mentions(textarea.value).map( | ||
95 … | + function (mention) { | ||
96 … | + var file = filesById[mention.link] | ||
97 … | + if (file) { | ||
98 … | + if (file.type) mention.type = file.type | ||
99 … | + if (file.size) mention.size = file.size | ||
100 … | + } | ||
101 … | + return mention | ||
102 … | + } | ||
103 … | + ) | ||
104 … | + | ||
105 … | + if (opts.recps) | ||
106 … | + msg.value.private = true | ||
107 … | + | ||
88 | 108 … | console.log(msg) | |
89 | 109 … | if (opts.type == 'post') | |
90 | 110 … | var header = tools.header(msg) | |
91 | 111 … | if (opts.type == 'update') |
Built with git-ssb-web