Commit 22845e6da7a120adb2b33163b4a7f46979fcc97b
render user feeds
Ev Bogue committed on 4/21/2018, 3:33:16 AMParent: a2dab3bb4322fa816841339b9e65a07099a69c5a
Files changed
index.js | changed |
scuttlebot.js | changed |
views.js | changed |
index.js | ||
---|---|---|
@@ -1,17 +1,23 @@ | ||
1 | 1 … | var h = require('hyperscript') |
2 | 2 … | |
3 | 3 … | var views = require('./views') |
4 | 4 … | |
5 … | +var ref = require('ssb-ref') | |
6 … | + | |
5 | 7 … | document.head.appendChild(h('style', require('./style.css.json'))) |
6 | 8 … | |
7 | -var src = window.location.hash | |
9 … | +var src = window.location.hash.substring(1) | |
8 | 10 … | |
9 | 11 … | window.onhashchange = function () { |
10 | 12 … | window.location.reload() |
11 | 13 … | } |
12 | 14 … | |
13 | -if (src == '#raw') { | |
15 … | +console.log(src) | |
16 … | + | |
17 … | +if (src == 'raw') { | |
14 | 18 … | views.rawstream() |
19 … | +} else if (ref.isFeed(src)) { | |
20 … | + views.userstream(src) | |
15 | 21 … | } else { |
16 | 22 … | views.logstream() |
17 | 23 … | } |
scuttlebot.js | ||
---|---|---|
@@ -40,8 +40,16 @@ | ||
40 | 40 … | CACHE[e.key] = CACHE[e.key] || e.value |
41 | 41 … | }) |
42 | 42 … | ) |
43 | 43 … | }), |
44 … | + userStream: rec.source(function (config) { | |
45 … | + return pull( | |
46 … | + sbot.createUserStream(config), | |
47 … | + pull.through(function (e) { | |
48 … | + CACHE[e.key] = CACHE[e.key] || e.value | |
49 … | + }) | |
50 … | + ) | |
51 … | + }), | |
44 | 52 … | query: rec.source(function (query) { |
45 | 53 … | return sbot.query.read(query) |
46 | 54 … | }) |
47 | 55 … | } |
views.js | ||
---|---|---|
@@ -65,4 +65,33 @@ | ||
65 | 65 … | createStream({reverse: true, live: false, limit: 10}), |
66 | 66 … | stream.bottom(content) |
67 | 67 … | ) |
68 | 68 … | } |
69 … | + | |
70 … | +module.exports.userstream = function (src) { | |
71 … | + var content = h('div.content') | |
72 … | + | |
73 … | + document.body.appendChild(h('div.screen', | |
74 … | + {style: {position: 'absolute', top: '0px', bottom: '0px', left: '0px', right: '0px'}}, | |
75 … | + hyperscroll(content) | |
76 … | + )) | |
77 … | + | |
78 … | + function createStream (opts) { | |
79 … | + return pull( | |
80 … | + More(sbot.userStream, opts, ['value', 'sequence']), | |
81 … | + pull.map(function (msg) { | |
82 … | + return h('div.message', render(msg)) | |
83 … | + }) | |
84 … | + ) | |
85 … | + } | |
86 … | + | |
87 … | + pull( | |
88 … | + createStream({old: false, limit: 10, id: src}), | |
89 … | + stream.top(content) | |
90 … | + ) | |
91 … | + | |
92 … | + pull( | |
93 … | + createStream({reverse: true, live: false, limit: 10, id: src}), | |
94 … | + stream.bottom(content) | |
95 … | + ) | |
96 … | + | |
97 … | +} |
Built with git-ssb-web