Files: 7230f37363daf6ee98fab654ab98d27397914c28 / views.js
1592 bytesRaw
1 | var pull = require('pull-stream') |
2 | var sbot = require('./scuttlebot') |
3 | var hyperscroll = require('hyperscroll') |
4 | var More = require('pull-more') |
5 | var stream = require('hyperloadmore/stream') |
6 | var h = require('hyperscript') |
7 | var render = require('./render') |
8 | var ref = require('ssb-ref') |
9 | var keys = require('./keys') |
10 | |
11 | var logStream = function () { |
12 | var content = h('div.content') |
13 | var screen = document.getElementById('screen') |
14 | screen.appendChild(hyperscroll(content)) |
15 | |
16 | function createStream (opts) { |
17 | return pull( |
18 | More(sbot.createLogStream, opts), |
19 | pull.map(function (msg) { |
20 | return render(msg) |
21 | }) |
22 | ) |
23 | } |
24 | |
25 | pull( |
26 | createStream({old: false, limit: 100}), |
27 | stream.top(content) |
28 | ) |
29 | |
30 | pull( |
31 | createStream({reverse: true, live: false, limit: 100}), |
32 | stream.bottom(content) |
33 | ) |
34 | } |
35 | |
36 | var userStream = function (src) { |
37 | var content = h('div.content') |
38 | var screen = document.getElementById('screen') |
39 | screen.appendChild(hyperscroll(content)) |
40 | function createStream (opts) { |
41 | return pull( |
42 | More(sbot.userStream, opts, ['value', 'sequence']), |
43 | pull.map(function (msg) { |
44 | return render(msg) |
45 | }) |
46 | ) |
47 | } |
48 | |
49 | pull( |
50 | createStream({old: false, limit: 10, id: src}), |
51 | stream.top(content) |
52 | ) |
53 | |
54 | pull( |
55 | createStream({reverse: true, live: false, limit: 10, id: src}), |
56 | stream.bottom(content) |
57 | ) |
58 | } |
59 | |
60 | function hash () { |
61 | return window.location.hash.substring(1) |
62 | } |
63 | |
64 | module.exports = function () { |
65 | var src = hash() |
66 | if (ref.isFeed(src)) { |
67 | userStream(src) |
68 | } else { |
69 | logStream() |
70 | } |
71 | } |
72 |
Built with git-ssb-web