secure-scuttlebot classic
at main 62 lines 1.6 kB view raw
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}