secure-scuttlebot classic
1var ref = require('ssb-ref')
2var Scroller = require('pull-scroll')
3var h = require('hyperscript')
4var pull = require('pull-stream')
5var u = require('../util')
6
7//var plugs = require('../plugs')
8//var sbot_user_feed = plugs.first(exports.sbot_user_feed = [])
9//var message_render = plugs.first(exports.message_render = [])
10//var avatar_profile = plugs.first(exports.avatar_profile = [])
11//var signifier = plugs.first(exports.signifier = [])
12
13exports.needs = {
14 sbot_user_feed: 'first',
15 message_render: 'first',
16 avatar_profile: 'first',
17 signifier: 'first'
18}
19
20exports.gives = 'screen_view'
21
22
23exports.create = function (api) {
24
25 return function (id) {
26 //TODO: header of user info, avatars, names, follows.
27 if(ref.isFeed(id)) {
28
29 var content = h('div.column.scroller__content')
30 var div = h('div.column.scroller',
31 {style: {'overflow':'auto'}},
32 h('div.scroller__wrapper',
33 h('div', api.avatar_profile(id)),
34 content
35 )
36 )
37
38 api.signifier(id, function (_, names) {})
39
40
41 pull(
42 api.sbot_user_feed({id: id, old: false, live: true}),
43 Scroller(div, content, api.message_render, true, false)
44 )
45
46 //how to handle when have scrolled past the start???
47
48 pull(
49 u.next(api.sbot_user_feed, {
50 id: id, reverse: true,
51 limit: 50, live: false
52 }, ['value', 'sequence']),
53 pull.through(console.log.bind(console)),
54 Scroller(div, content, api.message_render, false, false)
55 )
56
57 return div
58
59 }
60 }
61
62}