Commit 3ccd1c2c0111305dd97838649d9aba1f1a265232
implement mentions tab with ssb-backlinks
Ev Bogue committed on 5/28/2018, 9:54:38 PMParent: c909de36e0325388afbaa5b1d6050b073e2fd3f8
Files changed
bin.js | changed |
index.js | changed |
scuttlebot.js | changed |
views.js | changed |
bin.js | ||
---|---|---|
@@ -33,8 +33,9 @@ | ||
33 | 33 … | .use(require('ssb-friends')) |
34 | 34 … | .use(require('ssb-blobs')) |
35 | 35 … | .use(require('ssb-query')) |
36 | 36 … | .use(require('ssb-links')) |
37 … | + .use(require('ssb-backlinks')) | |
37 | 38 … | .use(require('ssb-ebt')) |
38 | 39 … | .use(require('ssb-ooo')) |
39 | 40 … | .use(require('scuttlebot/plugins/invite')) |
40 | 41 … | .use(require('scuttlebot/plugins/local')) |
index.js | ||
---|---|---|
@@ -29,11 +29,11 @@ | ||
29 | 29 … | } |
30 | 30 … | } |
31 | 31 … | } |
32 | 32 … | })), |
33 | - h('li', h('a', {href: '#'}, 'Public')), | |
34 | - h('li', h('a', {href: '#private' }, 'Private')), | |
33 … | + h('li', h('a', {href: '#'}, 'Stream')), | |
35 | 34 … | h('li', h('a', {href: '#mentions' }, 'Mentions')), |
35 … | + h('li', h('a', {href: '#private' }, 'Inbox')), | |
36 | 36 … | h('li', h('a', {href: '#key' }, 'Key')), |
37 | 37 … | h('li.right', h('a', {href: '#about'}, '?')) |
38 | 38 … | ) |
39 | 39 … | ) |
scuttlebot.js | ||
---|---|---|
@@ -61,8 +61,11 @@ | ||
61 | 61 … | CACHE[e.key] = CACHE[e.key] || e.value |
62 | 62 … | }) |
63 | 63 … | ) |
64 | 64 … | }), |
65 … | + backlinks: rec.source(function (query) { | |
66 … | + return sbot.backlinks.read(query) | |
67 … | + }), | |
65 | 68 … | query: rec.source(function (query) { |
66 | 69 … | return sbot.query.read(query) |
67 | 70 … | }), |
68 | 71 … | get: rec.async(function (key, cb) { |
views.js | ||
---|---|---|
@@ -8,8 +8,10 @@ | ||
8 | 8 … | var ref = require('ssb-ref') |
9 | 9 … | |
10 | 10 … | var config = require('./config')() |
11 | 11 … | |
12 … | +var id = require('./keys').id | |
13 … | + | |
12 | 14 … | var fs = require('fs') |
13 | 15 … | |
14 | 16 … | var compose = require('./compose') |
15 | 17 … | |
@@ -22,8 +24,34 @@ | ||
22 | 24 … | |
23 | 25 … | screen.appendChild(hyperscroll(content)) |
24 | 26 … | } |
25 | 27 … | |
28 … | +var mentionsStream = function () { | |
29 … | + var content = h('div.content') | |
30 … | + | |
31 … | + var screen = document.getElementById('screen') | |
32 … | + | |
33 … | + screen.appendChild(hyperscroll(content)) | |
34 … | + | |
35 … | + function createStream (opts) { | |
36 … | + return pull( | |
37 … | + sbot.backlinks({query: [{$filter: {dest: id}}], reverse: true}), | |
38 … | + pull.map(function (msg) { | |
39 … | + console.log(msg) | |
40 … | + if (msg.value.private == true) | |
41 … | + return 'ignoring private message' | |
42 … | + else | |
43 … | + return render(msg) | |
44 … | + }) | |
45 … | + ) | |
46 … | + } | |
47 … | + | |
48 … | + pull( | |
49 … | + createStream({reverse: true, limit: 10}), | |
50 … | + stream.bottom(content) | |
51 … | + ) | |
52 … | +} | |
53 … | + | |
26 | 54 … | var logStream = function () { |
27 | 55 … | var content = h('div.content') |
28 | 56 … | var screen = document.getElementById('screen') |
29 | 57 … | screen.appendChild(hyperscroll(content)) |
@@ -33,8 +61,9 @@ | ||
33 | 61 … | More(sbot.createLogStream, opts), |
34 | 62 … | pull.map(function (msg) { |
35 | 63 … | return render(msg) |
36 | 64 … | }) |
65 … | + | |
37 | 66 … | ) |
38 | 67 … | } |
39 | 68 … | |
40 | 69 … | pull( |
@@ -148,8 +177,11 @@ | ||
148 | 177 … | if (ref.isFeed(src)) { |
149 | 178 … | userStream(src) |
150 | 179 … | } else if (ref.isMsg(src)) { |
151 | 180 … | msgThread(src) |
181 … | + } else if (src == 'mentions') { | |
182 … | + console.log('mentions') | |
183 … | + mentionsStream() | |
152 | 184 … | } else if (src == 'about') { |
153 | 185 … | about() |
154 | 186 … | } else if (src == 'key') { |
155 | 187 … | keyPage() |
Built with git-ssb-web