Commit 31952859d7b23b701a4475eb2318ef61010b7213
render stars with ssb-backlinks
Ev Bogue committed on 5/1/2018, 2:01:04 AMParent: 75a88ef69dff48f8857d5a63d03c413d76c52ce1
Files changed
bin.js | changed |
manifest.json | changed |
package-lock.json | changed |
package.json | changed |
render.js | changed |
scuttlebot.js | changed |
style.css | changed |
tools.js | changed |
bin.js | ||
---|---|---|
@@ -32,8 +32,9 @@ | ||
32 | 32 … | .use(require('scuttlebot/plugins/replicate')) |
33 | 33 … | .use(require('ssb-friends')) |
34 | 34 … | .use(require('ssb-blobs')) |
35 | 35 … | .use(require('ssb-query')) |
36 … | + .use(require('ssb-backlinks')) | |
36 | 37 … | .use(require('ssb-links')) |
37 | 38 … | .use(require('ssb-ebt')) |
38 | 39 … | .use(require('ssb-ooo')) |
39 | 40 … | .use(require('scuttlebot/plugins/invite')) |
manifest.json | ||
---|---|---|
@@ -62,8 +62,12 @@ | ||
62 | 62 … | "links2": { |
63 | 63 … | "read": "source", |
64 | 64 … | "dump": "source" |
65 | 65 … | }, |
66 … | + "backlinks": { | |
67 … | + "read": "source", | |
68 … | + "dump": "source" | |
69 … | + }, | |
66 | 70 … | "query": { |
67 | 71 … | "read": "source", |
68 | 72 … | "dump": "source" |
69 | 73 … | }, |
package-lock.json | ||
---|---|---|
The diff is too large to show. Use a local git client to view these changes. Old file size: 216329 bytes New file size: 217442 bytes |
package.json | ||
---|---|---|
@@ -28,8 +28,9 @@ | ||
28 | 28 … | "pull-reconnect": "0.0.3", |
29 | 29 … | "pull-stream": "^3.6.7", |
30 | 30 … | "pull-stringify": "^2.0.0", |
31 | 31 … | "scuttlebot": "^11.2.1", |
32 … | + "ssb-backlinks": "^0.6.1", | |
32 | 33 … | "ssb-blobs": "^1.1.4", |
33 | 34 … | "ssb-client": "^4.5.7", |
34 | 35 … | "ssb-ebt": "^5.1.5", |
35 | 36 … | "ssb-friends": "^2.4.0", |
render.js | ||
---|---|---|
@@ -1,7 +1,9 @@ | ||
1 | 1 … | var h = require('hyperscript') |
2 | 2 … | var config = require('./config')() |
3 | 3 … | |
4 … | +var pull = require('pull-stream') | |
5 … | + | |
4 | 6 … | var sbot = require('./scuttlebot') |
5 | 7 … | var composer = require('./compose') |
6 | 8 … | |
7 | 9 … | var tools = require('./tools') |
@@ -9,19 +11,28 @@ | ||
9 | 11 … | module.exports = function (msg) { |
10 | 12 … | var opts = {} |
11 | 13 … | opts.root = null |
12 | 14 … | var message = h('div.message') |
15 … | + | |
16 … | + | |
13 | 17 … | if (msg.value.content.type == 'post') { |
14 | - message.appendChild(tools.header(msg)) | |
18 … | + | |
19 … | + | |
15 | 20 … | opts.type = 'post' |
16 | 21 … | opts.branch = msg.key |
22 … | + | |
23 … | + message.appendChild(tools.header(msg)) | |
24 … | + | |
17 | 25 … | if (msg.value.content.root) { |
18 | 26 … | message.appendChild(h('span', 're: ', tools.messageLink(msg.value.content.root))) |
19 | 27 … | opts.root = msg.value.content.root |
20 | - } else { opts.root = msg.key} | |
28 … | + } else { opts.root = msg.key } | |
29 … | + | |
30 … | + | |
21 | 31 … | message.appendChild( |
22 | 32 … | h('div.message__body', tools.markdown(msg.value.content.text)) |
23 | 33 … | ) |
34 … | + | |
24 | 35 … | message.appendChild(h('button.btn', 'Reply', { |
25 | 36 … | onclick: function () { |
26 | 37 … | var compose = composer(opts) |
27 | 38 … | message.replaceChild(compose, message.lastElementChild) |
@@ -49,10 +60,10 @@ | ||
49 | 60 … | } |
50 | 61 … | }) |
51 | 62 … | return message |
52 | 63 … | } else { |
53 | - message.appendChild(tools.header(msg)) | |
54 | - message.appendChild(h('pre', tools.rawJSON(msg.value.content))) | |
55 | - return message | |
56 | - //return | |
64 … | + //message.appendChild(tools.header(msg)) | |
65 … | + //message.appendChild(h('pre', tools.rawJSON(msg.value.content))) | |
66 … | + //return message | |
67 … | + return | |
57 | 68 … | } |
58 | 69 … | } |
scuttlebot.js | ||
---|---|---|
@@ -64,8 +64,11 @@ | ||
64 | 64 … | }), |
65 | 65 … | query: rec.source(function (query) { |
66 | 66 … | return sbot.query.read(query) |
67 | 67 … | }), |
68 … | + backlinks: rec.source(function (query) { | |
69 … | + return sbot.backlinks.read(query) | |
70 … | + }), | |
68 | 71 … | get: rec.async(function (key, cb) { |
69 | 72 … | if('function' !== typeof cb) |
70 | 73 … | throw new Error('cb must be function') |
71 | 74 … | if(CACHE[key]) cb(null, CACHE[key]) |
style.css | ||
---|---|---|
@@ -34,9 +34,9 @@ | ||
34 | 34 … | .message img { |
35 | 35 … | max-width: 100%; |
36 | 36 … | } |
37 | 37 … | |
38 | -.timestamp { | |
38 … | +.timestamp, .votes { | |
39 | 39 … | float: right; |
40 | 40 … | } |
41 | 41 … | |
42 | 42 … | .avatar--small img { |
@@ -55,9 +55,9 @@ | ||
55 | 55 … | } |
56 | 56 … | |
57 | 57 … | .emoji { |
58 | 58 … | float: left; |
59 | - width: 1.4em; | |
59 … | + width: 1em; | |
60 | 60 … | vertical-align: top; |
61 | 61 … | } |
62 | 62 … | |
63 | 63 … | pre { |
tools.js | ||
---|---|---|
@@ -2,8 +2,30 @@ | ||
2 | 2 … | var human = require('human-time') |
3 | 3 … | var avatar = require('./avatar') |
4 | 4 … | var ref = require('ssb-ref') |
5 | 5 … | |
6 … | +var pull = require('pull-stream') | |
7 … | + | |
8 … | +var sbot = require('./scuttlebot') | |
9 … | + | |
10 … | +var config = require('./config')() | |
11 … | + | |
12 … | +function votes (msg) { | |
13 … | + var votes = h('div.votes') | |
14 … | + | |
15 … | + pull( | |
16 … | + sbot.backlinks({query: [{$filter: {dest: msg.key, value: { content: { type: 'vote' }}}}], live: true}), | |
17 … | + pull.drain(function (data) { | |
18 … | + console.log(data) | |
19 … | + if (data.value) { | |
20 … | + votes.appendChild(h('a', {href:'#' + data.key}, h('img.emoji', {src: config.emojiUrl + 'star.png'}))) | |
21 … | + console.log(data) | |
22 … | + } else {console.log(data)} | |
23 … | + }) | |
24 … | + ) | |
25 … | + return votes | |
26 … | +} | |
27 … | + | |
6 | 28 … | module.exports.header = function (msg) { |
7 | 29 … | return h('div.header', |
8 | 30 … | h('span.avatar', |
9 | 31 … | h('a', {href: '#' + msg.value.author}, |
@@ -11,8 +33,9 @@ | ||
11 | 33 … | avatar.name(msg.value.author) |
12 | 34 … | ) |
13 | 35 … | ), |
14 | 36 … | h('span.timestamp', h('a', {href: '#' + msg.key}, human(new Date(msg.value.timestamp)))), |
37 … | + votes(msg) | |
15 | 38 … | ) |
16 | 39 … | } |
17 | 40 … | |
18 | 41 … | module.exports.messageLink = function (msglink) { |
Built with git-ssb-web