git ssb

16+

Dominic / patchbay



Tree: d9e40e563621b8ed8d5c36ddadfc5c42d2a01e7e

Files: d9e40e563621b8ed8d5c36ddadfc5c42d2a01e7e / modules / avatar-profile.js

1261 bytesRaw
1var h = require('hyperscript')
2var plugs = require('../plugs')
3var pull = require('pull-stream')
4
5var avatar_image = plugs.first(exports.avatar_image = [])
6var avatar_name = plugs.first(exports.avatar_name = [])
7var avatar_action = plugs.map(exports.avatar_action = [])
8var avatar_edit = plugs.first(exports.avatar_edit = [])
9
10var follows = plugs.first(exports.follows = [])
11var followers = plugs.first(exports.followers = [])
12
13function streamToList(stream, el) {
14 pull(
15 stream,
16// pull.unique(function (e) { return e }),
17 pull.drain(function (item) {
18 if(item) el.appendChild(item)
19 })
20 )
21 return el
22}
23
24function image_link (id) {
25 return h('a', {href:'#'+id}, avatar_image(id))
26}
27
28exports.avatar_profile = function (id) {
29 return h('div.column.profile',
30 avatar_edit(id),
31 avatar_action(id),
32
33 h('div.profile__relationships.column',
34
35 h('strong', 'follows'),
36 streamToList(pull(
37 follows(id),
38 pull.unique(),
39 pull.map(image_link)
40 ), h('div.profile__follows.wrap')),
41
42 h('strong', 'followers'),
43 streamToList(pull(
44 followers(id),
45 pull.unique(),
46 pull.map(image_link)
47 ), h('div.profile__followers.wrap'))
48 )
49 )
50}
51
52
53
54
55
56
57
58
59
60

Built with git-ssb-web